我實現了一個自定義的生成,對我的申請,我想發出一個字符串作爲第二個參數IdentifierGenerator接口,但我沒有得到任何線索如何做到這一點。不幸的是,因爲下面的代碼,它將null2設置爲生成的密鑰。請幫忙。發送字符串第二個參數IdentifierGenerator - 休眠
我想送一個字符串,它是從客戶端作爲第二個參數的「日期」。
謝謝。
public class CourierTransImpl implements IdentifierGenerator{
private String appendString;
@Override
public Serializable generate(SessionImplementor session, Object arg1)
throws HibernateException {
Connection connection = session.connection();
int id=0;
try {
PreparedStatement ps = connection
.prepareStatement("SELECT MAX(TRANS_ID) as value from SecurePass.COURIER_TRANSACTIONS_SER_TABLE");
ResultSet rs = ps.executeQuery();
if (rs.next()) {
id = rs.getInt("value");
id++;
}
ps = connection
.prepareStatement("INSERT INTO SecurePass.COURIER_TRANSACTIONS_SER_TABLE VALUES("+id+")");
ps.execute();
} catch (SQLException e) {
e.printStackTrace();
}
return appendString+id;
}
public String getAppendString() {
return appendString;
}
public void setAppendString(String appendString) {
this.appendString = appendString;
}
}
很不錯的..所以非常感謝我一直在尋找這只是..! – Abhijeet 2014-11-06 05:39:28