Базовое консольное приложение с Spring Roo

Я понимаю, что на самом деле это не то, как предполагалось использовать Roo, но я должен был создать быструю демонстрацию с Roo для запуска в консольном приложении.

Я создал базовое приложение со следующим Roo Script:

project --topLevelPackage com.xetius.maths
persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY
entity --class ~.domain.Equation --testAutomatically
field number --fieldName firstNum --type java.lang.Integer --notNull
field number --fieldName secondNum --type java.lang.Integer --notNull
field string --fieldName operator --notNull
field number --fieldName answer --type java.lang.Integer

Далее я хочу добавить базовую консоль, добавив следующий класс

package com.xetius.maths;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MathMain {
    public static void main(String[] args) {
        ApplicationContext appContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        System.out.println("Here");
    }
}

Мой план состоял в том, чтобы передать firstNum, operator и secondNum, добавить их в БД, затем вычислить ответ, добавить его в БД, а затем отобразить ответ. Если ответ не удалось вычислить (например, с делением на 0), откатите транзакцию.

Это должно быть довольно просто, и я предполагаю, что это так, однако я не могу понять, как получить доступ к sessionFactory. Это подразумевается в чем-то другом, или я просто делаю что-то не так?

Я просто не могу это сделать, или есть другой способ сделать это. Это все для демонстрации моим боссам, чтобы показать преимущества Roo, но, похоже, я не могу понять это.


person Xetius    schedule 06.11.2010    source источник


Ответы (1)


После загрузки контекста очень просто

Equation eq = new Equation();
eq.setFirstNum(2);
eq.setSecondNum(2);
// and so on
eq.persist();

Если вам нужно удалить неправильную запись, вам нужно использовать

eq.remove();
person Paul Verest    schedule 19.02.2011