EntityManager persist() 方法不会将记录插入数据库

2023-12-26

我使用时遇到问题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
}

我的 dao 类:

@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> 

and 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>

有谁知道我错过了什么?


您是否遇到特定的例外情况?如果您是的话,知道它是什么会很有帮助。

Stackoverflow 上已经存在许多与此类似的问题:

Spring事务上下文不持久保存数据 https://stackoverflow.com/questions/5265783/spring-transactional-context-doesnt-persist-data?rq=1

Spring、Hibernate 和 JPA:在实体管理器上调用 persist 似乎没有提交到数据库 https://stackoverflow.com/questions/374886/spring-hibernate-jpa-calling-persist-on-entitymanager-does-not-seem-to-commi?rq=1

这些建议您应该尝试添加em.flush()之后em.persist(chain),并改变@transactional注释

您还应该检查是否已通过以下行启用事务注释:

<tx:annotation-driven transaction-manager="transactionManager"/> 

在你的 .xml 配置中

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EntityManager persist() 方法不会将记录插入数据库 的相关文章

随机推荐

  • 块控制+Alt+删除

    I am doing an Online Quiz project in C The test client is a Windows Desktop Application running on Windows XP I need to
  • Spark JDBC 伪列不起作用

    对于我的用例 我尝试使用 Spark JDBC 读取一张大的 Oracle 表 因为我的表中没有整数类型列 所以我正在使用rownum as paritionColumn 我的 Spark 查询如下所示 为了测试 我使用只有 22000 行
  • Objective-C/cocoa框架中的NSAutoreleasePool有什么魔力?

    我发现 Objective C cocoa 框架的示例有以下代码 int main NSAutoreleasePool pool NSAutoreleasePool alloc init Create an array NSArray mo
  • 使用 C 预处理获取字符串的整数值

    我将如何创建一个C宏获取字符串的整数值 具体用例来自一个问题here https stackoverflow com questions 9524342 how to specify enum size in gcc 我想像这样更改代码 e
  • 具有固定页眉和页脚以及可滚动内容的 Flexbox

    我正在尝试让弹性盒设计发挥作用 我不是 HTML CSS 专家 我有一个弹性盒设计 具有固定的页眉和页脚以及占据页面其余可用空间的内容 当我将数据放入比可用空间长的内容区域时 内容会滚动 但我想实现不同的目标 我想在内容区域中有几个 div
  • CodeIgniter GROUP_CONCAT 并加入

    我试图找到一种方法将这两个表连接在一起 我能够做到这一点 但如果它发现多个匹配的值 它会再次显示产品表中的所有内容 现在我尝试一起使用 MySQL group concat 以便能够列出数组中一个字段中的所有 tName 但我不断收到 My
  • 将 MySQL 转储导入到 PostgreSQL 数据库

    如何将 xxxx sql 转储从 MySQL 导入到 PostgreSQL 数据库 这个问题有点老了 但几天前我正在处理这种情况并发现pgloader io http pgloader io 这是迄今为止最简单的方法 您需要安装它 然后运行
  • java.util.concurrent.TimeoutException:android.view.ThreadedRenderer.finalize() 10秒后超时

    我收到了有关 Lollipop 的奇怪崩溃报告 我的应用程序基本上是一个浏览器 因此它大量使用 WebView 但我不知道问题在那里发生 无论如何 崩溃报告没有提供太多有用的信息 这基本上就是我在下面粘贴的内容 java util conc
  • atob 函数不应在新代码中使用?

    我需要使用atob在我正在处理的 React 项目中 有一个函数 但 VSCode 在函数调用中插入了一行 悬停时我收到以下消息 提供此功能只是为了与旧版 Web 兼容 平台 API 永远不应该在新代码中使用 因为它们使用 表示二进制数据的
  • 无法收集 pydev 的 python 解释器信息

    操作系统 Windows 7 x64 蟒蛇 2 7 3 pydev 2 7 1 2012100913 Eclipse 版本 Juno Service Release 1 内部版本号 20121004 1855 我无法在 Pydev 中配置
  • 如何检查exe是否从服务器访问

    这是一个客户端服务器应用程序 我正在创建一个更新程序 它将替换 exe 文件列表 运行脚本以及其他需要更新的内容 这将安装在服务器上 首先 我需要检查可执行文件是否通过网络共享打开 我可以通过进入计算机管理然后共享文件和打开文件来手动执行此
  • 在keras中定义模型(include_top = True)

    有人能告诉我在 keras 中定义模型时 include top True 意味着什么吗 我在 Keras 文档中读到了这一行的含义 它表示 include top 是否包含网络顶部的全连接层 我仍在寻找这行代码的直观解释 ResNet50
  • Dropwizard Response.status(Response.Status.NOT_FOUND).build() 返回 html

    如果确实缺少资源 我的 API 将返回以下内容 code 404 message HTTP 404 Not Found 当我使用代码通过我的资源返回 404 时Response status Response Status NOT FOUN
  • 在 LINQ to 对象的语句中

    LINQ to 对象中是否存在与 SQL IN 语句等效的语句 Yes Contains http msdn microsoft com en us library system linq enumerable contains aspx
  • Java 中的 PPMD​​ 压缩?

    有谁知道 PPMD 压缩算法的 Java 实现吗 我还没有找到 Java 实现 但有一个 C 实现http users senet com au mjbone Compression html http users senet com au
  • 如何在 Windows 窗体应用程序中创建全局错误处理程序?

    我认为有一个组件允许创建全局错误处理 例如 当发生不好的事情时 我自己会抛出异常 例如 throw new ArgumentNullException playlist is empty 我怎样才能在全球范围内捕捉到它 您可以通过以下方式完
  • 使用 std::make_shared 抽象类实例化时出错

    我将省略相当多的代码 因为这些是一些相当大的对象 而我的问题实际上只涉及 std make shared 的操作 我在命名空间 SYNC 中有一个名为 D3D11Shader 的对象 这有一个static函数调用 SYNC D3D11Sha
  • Spring、Infinispan 和 JBoss 7 集成

    我正在尝试使用 JBoss 7 Infinispan 缓存作为两个战争部署的基于 spring 的应用程序的通信形式 稍后会详细介绍 我在访问 JBoss 托管缓存管理器时遇到问题 当我使用 DefaultCacheManager cach
  • 如何在 WordPress 上找到我的 php.ini?

    我想增加我的 WordPress 网站上的最大执行时间 我知道我应该编辑 php ini 但似乎找不到它 有小费吗 看到这个问题我真多啊 我所看到的一切都缺乏真正的答案 php ini 应该位于wp admin目录 如果不是只是创建它然后定
  • EntityManager persist() 方法不会将记录插入数据库

    我使用时遇到问题EntityManager persist Object 方法 现在 当我摆脱其他问题时 通过应用程序工作没有异常 但对象没有放入我的数据库中 我的实体类 Entity Table name Chain public cla