I would prefer not to use any db specific stuff like sequences.
Please can somebody suggest some way to implement this.
ValGen.java
package rtest.models;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import play.db.ebean.Model;
@Entity()
@Table(name="ValGen")
public class ValGen extends Model
{
@Id
public int pid;
public String pname;
public String pphone;
public String pphoto;
}
IdGenerator.java
package rtest.models;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import com.avaje.ebean.Ebean;
public class IdGenerator
{
public synchronized int generate()
{
Connection conn = Ebean.currentTransaction().getConnection();
try
{
PreparedStatement ps = conn.prepareStatement("SELECT nextval ('s_valgen') as nextval");
ResultSet rs = ps.executeQuery();
if (rs.next())
{
int id = rs.getInt("nextval");
return id;
}
}
catch (Exception e)
{
e.printStackTrace();
}
return -1;
}
}