我在使用EntityManager.persist(Object)
方法时遇到问题。现在,当我摆脱其他问题时,通过应用程序工作时不会出现异常,但对象未放入数据库中。
我的实体类:
@Entity
@Table(name ="Chain")
public class Chain implements Serializable{
@Id
@Column(name = "id")
private Long id;
@Column(name = "date")
private Date date;
@Column(name = "name")
private String name;
//setters and getters
}
我的道课:
@Transactional
@Repository("ChainDao")
public class ChainDaoImpl implements ChainDao{
private EntityManager em;
@PersistenceContext
public void setEntityManager(EntityManager em) {
this. em = em;
}
public int saveChain(Chain chain) {
chain.setDate(new Date());
chain.setId((long)44);
Boolean a;
em.persist(chain);
return 222;
}
}
我的xml上下文:
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" >
<property name="persistenceXmlLocation" value="classpath*:META-INF/persistence.xml"></property></bean>
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
<bean class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory"
ref="entityManagerFactory" />
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
和pereistence.xml
:
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
<persistence-unit name="sample">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<!-- Scan for annotated classes and Hibernate mapping XML files -->
<properties>
<property name="hibernate.archive.autodetection" value="class, hbm"/>
<property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/>
<property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5432/database"/>
<property name="hibernate.connection.username" value="postgres"/>
<property name="hibernate.connection.password" value="pwd"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
<property name="hibernate.show_sql" value="true"/>
</properties>
</persistence-unit>
</persistence>
有人知道我想念什么吗?
您是否有特定的例外情况?知道这是什么会有所帮助。
这些建议您应该尝试em.flush()
在后面添加em.persist(chain)
并更改@transactional
注释
您还应该检查是否通过以下行启用了事务注释:
<tx:annotation-driven transaction-manager="transactionManager"/>
在您的.xml配置中
我在我的几个应用程序中使用Logback将错误记录到数据库中。现在在我最新的应用程序中,我创建了一个正常使用的日志。但现在应用程序不会将任何内容记录到数据库中。 我正在使用源代码将db appender添加到记录器。代码如下所示: 当我尝试应用程序使用logback.xml文件相同的行为。没有日志写入数据库。有人能帮我吗?
问题内容: 我正在尝试将Envers集成到我的项目中。我正在使用Hibernate-envers 3.5.5-Final,Hibernate-core 3.5.5-Final,spring 3.0.7.RELEASE。 对于DAO层,我使用的是GenericDaoHibernate类。 我的applicationContext.xml包含: 创建带注释的类的审核表,但是通过在实体表中添加或更新一行
问题内容: 我想在Codeigniter的活动记录中使用mySQL函数NOW()在数据库中插入当前时间。以下查询将不起作用: 这是因为CodeIgniter的ActiveRecord类自动转义输入。 通过调用set()并传递peratmeter FALSE,以下代码可以正常工作,以使它不会逃脱NOW()。 但是,我的问题是,除此之外还有其他方法吗?例如,如果我可以通过只添加数据数组中的所有内容来以
事情是这样的 我不知道发生了什么,如果有人能帮忙,我会非常感激的。THX!
问题内容: 我想初始化一个H2数据库,但是我不确定记录是否存在。如果它们不存在,我什么都不愿做,但是如果它们不存在,我想写默认值。 像这样的东西: 问题答案: 以下内容适用于MySQL,PostgreSQL和H2数据库:
我正在做一个项目,将读取Excel电子表格行的每个单元格的内容,并将所有这些信息存储在字符串ArrayList中,然后将所有这些行作为记录插入MySQL数据库。 我有一个方法可以很好地提取这些数据,并返回字符串ArrayList的完整ArrayList。我遇到的问题是试图将这些字符串数组列表作为记录插入SQL数据库。我在运行时得到一个索引越界异常。 谁能解释一下我哪里出了问题吗?我认为在我对Arr