首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Envers添加用户信息

Envers添加用户信息
EN

Stack Overflow用户
提问于 2015-07-11 12:26:12
回答 1查看 561关注 0票数 1

我对恩弗斯有意见。首先,下面是我的两个hibernate类:

child.java:

代码语言:javascript
复制
@Entity
@Audited
public class child {
    @Id
    private int id;
    private String text;
    @ManyToOne
    @JoinColumn(name="child")
    private testclass parent;
    public int getId() {return id;}
    public void setId(int id) {this.id = id;}
    public String getText() {return text;}
    public void setText(String text) {this.text = text;}
    public testclass getParent() {return parent;}
    public void setParent(testclass parent) {this.parent = parent;}
}

testclass.java:

代码语言:javascript
复制
@Entity
@Audited
public class testclass {
    @Id
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="seq_template")
    @SequenceGenerator(name="seq_template", sequenceName="tester_seq")
    private int id;

    private String text;

    @OneToMany(mappedBy="parent")
    private Set<child> childs;

    public int getId() {return id;}
    public void setId(int id) {this.id = id;}
    public String getText() {return text;}
    public void setText(String text) {this.text = text;}
    public Set<child> getChilds() {return childs;}
    public void setChilds(Set<child> childs) {this.childs = childs;}
}

这两个类运行良好,审计信息(如时间戳)存储良好。

我想现在用审计信息用户名扩展信息。为此,我创建了以下配置文件:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="ch.triwdata.envers.extensions">
    <class name="ExtendedRevisionEntity" table="revinfo">
        <id name="id" type="int">
            <column name="rev" not-null="true"/>
            <generator class="native"/>
        </id>
        <property name="timestamp" type="long" column="timestamp" />
        <property name="username" type="string" not-null="true"/>
    </class>
</hibernate-mapping>

当然还有一个带有hibernate配置的配置文件,但我认为这在这里并不重要。

有人能看到我的失败吗,为什么用户信息不被存储?

向比约恩问好

PS:也许这个xml缺失了?当然,我从一开始就加入了这个词:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.url">jdbc:postgresql://localhost/postgres</property>
        <property name="hibernate.connection.username">user</property>
        <property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
        <property name="connection.password">****</property>
        <property name="connection.pool_size">1</property>
        <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
        <property name="show_sql">true</property>
        <property name="hbm2ddl.auto">create-drop</property>

        <mapping class="testclass"/>
        <mapping class="child"/>
    </session-factory>
</hibernate-configuration>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-12 20:34:16

我知道了!:D

失败就在这里:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.url">jdbc:postgresql://localhost/postgres</property>
        <property name="hibernate.connection.username">twd_genmeta</property>
<!--         <property name="hibernate.connection.driver_class">com.p6spy.engine.spy.P6SpyDriver</property> -->
        <property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
        <property name="connection.password">Deliaa</property>
        <property name="connection.pool_size">1</property>
        <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
        <property name="show_sql">true</property>
        <property name="hbm2ddl.auto">create-drop</property>

        <mapping class="ch.triwdata.envers.classes.testclass"/>
        <mapping class="ch.triwdata.envers.classes.child"/>
        <mapping resource="hibernate.hbm.xml"/> <---- this entry is missing
    </session-factory>
</hibernate-configuration>

非常感谢您的回复!

向比约恩问好

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31357168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档