项目是osgi+eclipselink+jpa搭建的,对象是这样创建的
public class BackupRunDetails {
@Id
@GeneratedValue(strategy = GenerationType.TABLE, generator = "backup_details_id_gen")
@TableGenerator(name = "backup_details_id_gen",
table = "persistent_key_gen",
pkColumnName = "seq_name",
valueColumnName = "seq_value",
pkColumnValue = "Backup_Run_Details_seq",
initialValue = 1,
allocationSize = 5)
@Column(name = "id")
private long id;
.......
每次在存数据的时候都需要保证persistent_key_gen表中的Backup_Run_Details_seq值比此表的要大,不重复,要不然就会报错,现在是有时候添加表中数据的时候,Backup_Run_Details_seq的值没有添加可能会让BackupRunDetails 表中的id超过Backup_Run_Details_seq的值,现在需要抛出一个异常,并处理,例如在最大id的基础上+5,try.catch不行,有懂的嘛
public class BackupRunDetails {
@Id
@GeneratedValue(strategy = GenerationType.TABLE, generator = "backup_details_id_gen")
@TableGenerator(name = "backup_details_id_gen",
table = "persistent_key_gen",
pkColumnName = "seq_name",
valueColumnName = "seq_value",
pkColumnValue = "Backup_Run_Details_seq",
initialValue = 1,
allocationSize = 5)
@Column(name = "id")
private long id;
.......
每次在存数据的时候都需要保证persistent_key_gen表中的Backup_Run_Details_seq值比此表的要大,不重复,要不然就会报错,现在是有时候添加表中数据的时候,Backup_Run_Details_seq的值没有添加可能会让BackupRunDetails 表中的id超过Backup_Run_Details_seq的值,现在需要抛出一个异常,并处理,例如在最大id的基础上+5,try.catch不行,有懂的嘛
Error Code: 0
Call: INSERT INTO backup_details (id, details, end_time, error, execution_id, grid_data, start_time, device_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
bind => [100, null, 2017-09-22 11:40:12.318, com.netconfig.protocols.NoEnabledProtocolsException: 设备<172.16.7.90>无法访问或相关服务未开启, 无法访问对应端口 / The necessary protocols for 172.16.7.90 are either disabled or unreachable.
at com.netconfig.net.credentials.NetconfigProtocolManager.calculateProtocolSets(NetconfigProtocolManager.java:217)
at com.netconfig.net.credentials.NetconfigProtocolManager.calculateSupportedProtocolSets(NetconfigProtocolManager.java:143)
at com.netconfig.net.credentials.CredentialsProvider.calculateSupportedProtocolSets(CredentialsProvider.java:267)
at Proxy6cb5be67_95b7_443a_8285_816c1b980daa.calculateSupportedProtocolSets(Unknown Source)
at com.netconfig.service.job.backup.CredentialElf.calculateProtocolSets(CredentialElf.java:136)
at com.netconfig.service.job.AbstractAdapterTask.resolveCredentialsAndProtocols(AbstractAdapterTask.java:226)
at com.netconfig.service.job.AbstractAdapterTask.execute(AbstractAdapterTask.java:74)
at com.netconfig.service.dispatcher.Operation.execute(Operation.java:93)
at com.netconfig.service.dispatcher.OperationExecutor$JobThread.runJob(OperationExecutor.java:619)
at com.netconfig.service.dispatcher.OperationExecutor$JobThread.run(OperationExecutor.java:511)
, 48428, null, 2017-09-22 11:40:08.275, 26]
Query: InsertObjectQuery(com.netconfig.service.job.backup.BackupRunDetails@4094a28d)
以上为报错日志
EntityManager em;
方法内:
em.persist(对象);