簡體   English   中英

如何將 mysql 查詢轉換為 JPQL

[英]how to convert mysql query to JPQL

如何將 MYSQL 查詢轉換為 JPQL 查詢? 除了轉換之外,是否可以使用相同的查詢來更新 Java swing 程序中的實體?

mysql 查詢select * from project.newproject; update newproject set pedate = date_add(psdate, interval duration day) select * from project.newproject; update newproject set pedate = date_add(psdate, interval duration day)

我的實體 class 如下所示

@Entity
@Table(name = "newproject")
@XmlRootElement

@Transient
 private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);

    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "pid")
    private Integer pid;
    @Basic(optional = false)
    @Column(name = "pname")
    private String pname;
    @Basic(optional = false)
    @Column(name = "psdate")
    @Temporal(TemporalType.DATE)
    private Date psdate;
    @Basic(optional = false)
    @Column(name = "duration")
    private int duration;
    @Column(name = "pedate")
    @Temporal(TemporalType.DATE)
    private Date pedate;

我更改了 MYSQL 查詢如下更新所選行

`update newproject 
set pedate = date_add(psdate, interval duration day)
where pid = newproject.pid;`

並在 Java 中使用 createnativeQuery 更新選定的行

Newproject_1 p = ProjectPUEntityManager.find(Newproject_1.class, 1);

ProjectPUEntityManager.getTransaction().begin();
Query query = ProjectPUEntityManager.createNativeQuery("update newproject \n" +
"set pedate = date_add(psdate, interval duration day)\n" +
"where pid = newproject.pid;");
int count = query.executeUpdate();
ProjectPUEntityManager.merge(p);
ProjectPUEntityManager.getTransaction().commit();

JOptionPane.showMessageDialog(rootPane, "Update End Date");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM