java - 将 hyperjaxb 生成的实体从 eclipse 持久保存到 mysql

标签 java eclipse jaxb hbm2ddl hyperjaxb

我正在使用 this tutorial 设置 hyperjaxb 在 Eclipse 中运行。到目前为止,我已经将其发送到 marshalunmarshal,但它尚未触发 hbm2ddl 在数据库中创建表,并且它不清楚我应该在 eclipse 目录结构中的哪个位置找到我创建的用于运行上面教程链接中的代码的 Main.javaTestFunctions.java 类。 我如何改变我的 Eclipse 配置来实现这些事情?

这是我的 main.java:

package maintest;

public class Main {
    public static void main(String[] args) {
        TestFunctions mf = new TestFunctions();
        try {mf.setUp();} catch (Exception e) {e.printStackTrace();}
        mf.unmarshal();
        mf.setUpPersistence();
        Long id = mf.saveToDatabase();
        System.out.println("hjid is: "+id);
        mf.loadFromDatabase(id);
        mf.marshal();
    }
}

您可以通过 clicking on this linkTestFunctions.java 阅读更冗长的代码。请注意,文件共享站点错误地将代码居中对齐,尽管代码在我的计算机上是左对齐的。

persistence.properties 是:

hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.username=someusername
hibernate.connection.password=somepassword
hibernate.connection.url=jdbc:mysql://localhost/sometestdatabase
hibernate.hbm2ddl.auto=create-drop
hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider
hibernate.jdbc.batch_size=0  

当我右键单击 Main.java 并单击 run as.. java application 时,我当前收到以下堆栈跟踪:

Exception in thread "main" java.lang.NoClassDefFoundError: maintest/TestFunctions
    at maintest.Main.main(Main.java:7)
Caused by: java.lang.ClassNotFoundException: maintest.TestFunctions
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    ... 1 more   

目录结构如下:

最佳答案

对于您眼前的问题:如果 Main.java 驻留在 src/main/java 中并且需要调用 TestFunctions.java,则正常Maven 开发会将 TestFunctions.java 放在 src/main/java 中,而不是 src/test/java 中。 (通常来说,拥有“真实”代码(src/main 中的内容,具体取决于 src/test 中的任何内容)并不是一个好主意。

关于java - 将 hyperjaxb 生成的实体从 eclipse 持久保存到 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26348480/

相关文章:

eclipse - Eclipse 中未定义的属性名称(ng-model)

java - 使用构建器模式编码解码不可变对象(immutable对象)的最佳方法

java - Jaxb:如何为 XSD 元素指定默认类

Java XMLStreamReader.getText() 因 XML 编码字符而阻塞?

java - 如何调用这个实例方法

eclipse - symfony2 php codeniffer 标准错误

java - 如何将菜单添加到部分标题?

jpa - 域类通常是否获得 JPA 或 JAXB 注释或两者兼而有之?

java - 如何检查我的应用正在使用哪种 TLS 协议(protocol)进行网络操作

java - 如何使用扫描仪从文件中读取并以不同的顺序显示