Java “自动创建弹簧实体”;当局";测试期间

Java “自动创建弹簧实体”;当局";测试期间,java,hibernate,spring,orm,spring-security,Java,Hibernate,Spring,Orm,Spring Security,使用Spring Security&Hibernate尝试单元测试时,没有自动创建任何安全实体“用户”或“权限”。到目前为止,我所做的是编写一个“用户”bo来触发appropiate表的生成。然而,我被当局困住了: (根据postgresql的建议) 问题:对于Hibernate/JPA2,创建表示此查询的BO的适当语法是什么 问题:实际上,我不想使用我自己的BO创建条目。有没有更好的方法让SpringSecurity或Hibernate在测试运行期间创建所有必需的表 谢谢例如,将hiberna

使用Spring Security&Hibernate尝试单元测试时,没有自动创建任何安全实体“用户”或“权限”。到目前为止,我所做的是编写一个“用户”bo来触发appropiate表的生成。然而,我被当局困住了:

(根据postgresql的建议)

  • 问题:对于Hibernate/JPA2,创建表示此查询的BO的适当语法是什么

  • 问题:实际上,我不想使用我自己的BO创建条目。有没有更好的方法让SpringSecurity或Hibernate在测试运行期间创建所有必需的表


  • 谢谢

    例如,将hibernate属性
    hibernate.hbm2ddl.auto
    设置为
    update
    。这将允许hibernate自动创建(和更新)需要的表

    <property name="hibernate.hbm2ddl.auto" value="update" />
    
    
    
    实际上,我不想使用我自己的BO创建条目。有没有更好的方法让SpringSecurity或Hibernate在测试运行期间创建所有必需的表

    如果您不打算使用Hibernate与这些表进行交互,那么为它们设置实体确实没有什么意义

    因此,我的建议是将Spring安全表放在一个
    import.sql
    文件中,并将该文件放在类路径的根目录下,Hibernate将在模式导出后自动执行它。有关详细信息,请参阅(只需将DDL语句放在一行上)



    谢谢你,帕斯卡,这正是我一直在寻找的,但是,它不起作用。我使用maven并将import.sql放入resources目录根目录(内容:createtablejustatest(aaa字符变化(50)不为NULL);)。我也设定了。正在运行mvn测试将import.sql复制到目标目录。。。但什么也没发生。logback[debug]根本没有提到import.sql。知道我哪里出错了吗?(Hibernate V 3.5.1-Final)

    我正在Maven中使用此功能,无法重现您的问题。我将
    hbm2ddl.auto
    设置为
    create
    ,我的
    import.sql
    文件位于
    src/test/resources
    中,在运行测试时,它在模式导出结束时按预期执行。以下是我得到的日志条目(使用logback):


    谢谢你,帕斯卡,这正是我一直在寻找的,但是,它不起作用。我使用maven并将import.sql放入resources目录根目录(内容:createtablejustatest(aaa字符变化(50)不为NULL);)。我也设定了。正在运行mvn测试将import.sql复制到目标目录。。。但什么也没发生。logback[debug]根本没有提到import.sql。知道我哪里出错了吗?(HibernateV3.5.1-Final)嗨,帕斯卡,再次感谢你。不幸的是,我不能让它工作。反正没关系。我正在Windows工作站上工作,我将在Linux机器上再次尝试,以确保它与文件系统无关。我知道,反正也不应该,但我遇到了我一生中最奇怪的事情…嗨。谢谢你的建议。然而,我的1。问题涉及BO代码-我不知道如何创建约束。示例?表示实体的我的业务对象。我尝试的是一个具有两个属性(私有字符串用户名;私有字符串权限;)的类。第一个问题:在编译时,我得到了一个错误的id错误。接下来我们有一个@ManyToOne关系authorities.username::users.username,但我需要一个字符串类型,而不是字符串集合。。。这就是我被困的地方
    <property name="hibernate.hbm2ddl.auto" value="update" />
    
    20:44:37.949 [main] INFO  o.h.tool.hbm2ddl.SchemaExport - Executing import script: /import.sql