为了账号安全,请及时绑定邮箱和手机立即绑定

所有JPA查询都找不到任何结果(即使MySQL数据库中存在数据)

所有JPA查询都找不到任何结果(即使MySQL数据库中存在数据)

BIG阳 2022-09-22 10:16:42
我正在尝试设置爪哇。在我的项目中坚持不懈,我已经开始使用基本方法:实体管理器生成器 package olsa.amex.dao; import javax.persistence.*;  public class EntityManagerGenerator {private EntityManager currentSession;private EntityTransaction currentTransaction;public EntityManager openCurrentSession() {    if ((currentSession == null)||(currentSession != null && !currentSession.isOpen()))        currentSession = getSessionFactory().createEntityManager();    return currentSession;}public EntityManager openCurrentSessionwithTransaction() {    if ((currentSession == null)||(currentSession != null && !currentSession.isOpen()))        currentSession = getSessionFactory().createEntityManager();    currentTransaction = currentSession.getTransaction();    currentTransaction.begin();    return currentSession;}public void closeCurrentSession() {    if (currentSession != null && currentSession.isOpen())        currentSession.close();}public void closeCurrentSessionwithTransaction() {    if (currentSession != null && currentSession.isOpen()) {        currentTransaction.commit();        currentSession.close();    }}private static EntityManagerFactory getSessionFactory() {    EntityManagerFactory entityManager = Persistence.createEntityManagerFactory("JPAAmex");    return entityManager;}public EntityManager getCurrentSession() {    return currentSession;}public void setCurrentSession(EntityManager currentSession) {    this.currentSession = currentSession;}public EntityTransaction getCurrentTransaction() {    return currentTransaction;}public void setCurrentTransaction(EntityTransaction currentTransaction) {    this.currentTransaction = currentTransaction;}}
查看完整描述

1 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

我发现了问题,显然这都是由错误的jdbc连接字符串引起的。为了生成实体,我使用了以下字符串:

jdbc:mysql://rmarjboss-001c.customer.olsa:3306/amex_digital_sbs_dev?useUnicode=yes&characterEncoding=UTF-8

我在坚持中使用的.xml是这样的:

jdbc:mysql://rmarjboss-001c.customer.olsa:3306/amex_digital_sbs_dev

为了使一切正常工作,我必须在持久性中设置正确的字符串.xml:

jdbc:mysql://rmarjboss-001c.customer.olsa:3306/amex_digital_sbs_dev?useUnicode=yes&characterEncoding=UTF-8


查看完整回答
反对 回复 2022-09-22
  • 1 回答
  • 0 关注
  • 75 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信