आपकी प्रतिक्रिया के लिए सभी को धन्यवाद ...... अंततः मैंने अपने विभाग वर्ग में कुछ बदलाव किए हैं और आईडी बनाने के लिए कक्षा का उपयोग किया ........ यहां मेरा कोड
@Entity
public class Department {
@Id
@GenericGenerator(name = "sequence_dep_id", strategy = "com.xyz.ids.DepartmentIdGenerator")
@GeneratedValue(generator = "sequence_dep_id")
@Column(name="Department_Id")
private String deptId;
@Column(name="Department_Name",unique=true,nullable=false)
private String deptName;
@Column(name="Department_Description")
@NotNull
private String deptDesc;
//getters and setters
,210
DepartmentIdGenerator.java
package com.xyz.ids;
import java.io.Serializable;
import java.sql.*;
import org.hibernate.HibernateException;
import org.hibernate.engine.spi.SessionImplementor;
import org.hibernate.id.IdentifierGenerator;
public class DepartmentIdGenerator implements IdentifierGenerator{
@Override
public Serializable generate(SessionImplementor session, Object object)
throws HibernateException {
String prefix = "DEP";
Connection connection = session.connection();
try {
Statement statement=connection.createStatement();
ResultSet rs=statement.executeQuery("select count(Department_Id) as Id from demo.Department");
if(rs.next())
{
int id=rs.getInt(1)+101;
String generatedId = prefix + new Integer(id).toString();
System.out.println("Generated Id: " + generatedId);
return generatedId;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
स्रोत
2015-07-02 09:00:23
http://supportmycode.com/2014/08/22/custom-id-generator-in-hibernate/ –
क्या डीबी प्रयोग कर रहे हैं? – mrh
मैं mysql –