类javax.persistence.PostUpdate源码实例Demo

下面列出了怎么用javax.persistence.PostUpdate的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: warpdb   文件: WarpDbCRUDAndCallbackTest.java
@Test
public void testUpdate() throws Exception {
	User user = new User();
	user.name = "Michael";
	user.email = "[email protected]";
	warpdb.insert(user);
	Thread.sleep(100);
	user.name = "Changed";
	user.email = "[email protected]";
	warpdb.update(user);
	assertTrue(user.callbacks.contains(PreUpdate.class));
	assertTrue(user.callbacks.contains(PostUpdate.class));
	assertNotEquals(user.createdAt, user.updatedAt);
	assertEquals(System.currentTimeMillis(), user.updatedAt, 500.0);
	// fetch:
	User bak = warpdb.fetch(User.class, user.id);
	assertNotNull(bak);
	assertEquals(user.id, bak.id);
	assertEquals("Changed", bak.name);
	// email is set updatable=false:
	assertEquals("[email protected]", bak.email);
	assertEquals(user.createdAt, bak.createdAt);
	assertEquals(user.updatedAt, bak.updatedAt);
	assertEquals(user.version, bak.version);
}
 
源代码2 项目: warpdb   文件: WarpDbCRUDAndCallbackTest.java
@Test
public void testUpdateProperties() throws Exception {
	User user = new User();
	user.name = "Michael";
	user.email = "[email protected]";
	warpdb.insert(user);
	Thread.sleep(100);
	user.name = "Changed";
	user.version = 99;
	warpdb.updateProperties(user, "name", "version", "updatedAt");
	assertTrue(user.callbacks.contains(PreUpdate.class));
	assertTrue(user.callbacks.contains(PostUpdate.class));
	assertNotEquals(user.createdAt, user.updatedAt);
	assertEquals(System.currentTimeMillis(), user.updatedAt, 500.0);
	// fetch:
	User bak = warpdb.fetch(User.class, user.id);
	assertNotNull(bak);
	assertEquals(user.id, bak.id);
	assertEquals("Changed", bak.name);
	assertEquals("Changed", bak.name);
	assertEquals(99, bak.version);
}
 
源代码3 项目: che   文件: ProjectConfigImpl.java
@PostLoad
@PostUpdate
@PostPersist
private void postLoadAttributes() {
  if (dbAttributes != null) {
    attributes =
        dbAttributes.values().stream().collect(toMap(attr -> attr.name, attr -> attr.values));
  }
}
 
源代码4 项目: sakai   文件: Criterion.java
@PostLoad
@PostUpdate
public void determineSharedParentStatus() {
    Rubric rubric = getRubric();
    if (rubric != null && rubric.getMetadata().isShared()) {
        getMetadata().setShared(true);
    }
}
 
源代码5 项目: sakai   文件: Rubric.java
@PostLoad
@PostUpdate
public void determineLockStatus() {
    if (getToolItemAssociations() != null && getToolItemAssociations().size() > 0) {
        for(ToolItemRubricAssociation tira : getToolItemAssociations()) {
            if(tira.getParameters() == null) {
                getMetadata().setLocked(true);
            } else if(!tira.getParameters().containsKey(RubricsConstants.RBCS_SOFT_DELETED) || !tira.getParameters().get(RubricsConstants.RBCS_SOFT_DELETED)) {
                getMetadata().setLocked(true);
                break;
            }
        }
    }
}
 
源代码6 项目: sakai   文件: Rating.java
@PostLoad
@PostUpdate
public void determineSharedParentStatus() {
    Criterion criterion = getCriterion();
    if (criterion != null) {
        Rubric rubric = criterion.getRubric();
        if (rubric != null && rubric.getMetadata().isShared()) {
            getMetadata().setShared(true);
        }
    }
}
 
源代码7 项目: container   文件: SituationListener.java
@PostUpdate
void situationAfterUpdate(final Situation situation) {
    Collection<SituationsMonitor> monis = sitMonRepo.findSituationMonitorsBySituationId(situation.getId());

    // this SHOULD inject the managementBus dependency when we use it
    SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
    for (SituationsMonitor moni : monis) {
        sendServiceInstanceAdaptionEvent(moni);
    }
}
 
源代码8 项目: sakai   文件: Criterion.java
@PostLoad
@PostUpdate
public void determineSharedParentStatus() {
    Rubric rubric = getRubric();
    if (rubric != null && rubric.getMetadata().isShared()) {
        getMetadata().setShared(true);
    }
}
 
源代码9 项目: sakai   文件: Rubric.java
@PostLoad
@PostUpdate
public void determineLockStatus() {
    if (getToolItemAssociations() != null && getToolItemAssociations().size() > 0) {
        for(ToolItemRubricAssociation tira : getToolItemAssociations()) {
            if(tira.getParameters() == null) {
                getMetadata().setLocked(true);
            } else if(!tira.getParameters().containsKey(RubricsConstants.RBCS_SOFT_DELETED) || !tira.getParameters().get(RubricsConstants.RBCS_SOFT_DELETED)) {
                getMetadata().setLocked(true);
                break;
            }
        }
    }
}
 
源代码10 项目: sakai   文件: Rating.java
@PostLoad
@PostUpdate
public void determineSharedParentStatus() {
    Criterion criterion = getCriterion();
    if (criterion != null) {
        Rubric rubric = criterion.getRubric();
        if (rubric != null && rubric.getMetadata().isShared()) {
            getMetadata().setShared(true);
        }
    }
}
 
源代码11 项目: apiman   文件: PolicyBean.java
@PostPersist @PostUpdate @PostLoad
protected void decryptData() {
    // Decrypt the endpoint properties.
    EntityType entityType = EntityType.Api;
    if (type == PolicyType.Client) {
        entityType = EntityType.ClientApp;
    } else if (type == PolicyType.Plan) {
        entityType = EntityType.Plan;
    }
    DataEncryptionContext ctx = new DataEncryptionContext(organizationId, entityId, entityVersion, entityType);
    configuration = CurrentDataEncrypter.instance.decrypt(configuration, ctx);
}
 
源代码12 项目: hibernate-reactive   文件: EagerTest.java
@PostUpdate
void postUpdate() {
	postUpdated = true;
}
 
源代码13 项目: hibernate-reactive   文件: DB2BasicTest.java
@PostUpdate
void postUpdate() {
	postUpdated = true;
}
 
源代码14 项目: hibernate-reactive   文件: BatchFetchTest.java
@PostUpdate
void postUpdate() {
	postUpdated = true;
}
 
源代码15 项目: hibernate-reactive   文件: SubselectFetchTest.java
@PostUpdate
void postUpdate() {
	postUpdated = true;
}
 
源代码16 项目: hibernate-reactive   文件: CascadeTest.java
@PostUpdate
void postUpdate() {
	postUpdated = true;
}
 
源代码17 项目: java-microservice   文件: ToDoEntityListener.java
@PostUpdate
public void onUpdate(ToDo todo) {
    AutowireHelper.autowire(this, this.publisher);
    this.publisher.publish(new TodoUpdatedEvent(todo));
}
 
源代码18 项目: SMSC   文件: EncryptionListener.java
/**
 * Method to decrypt password after user loading.
 *
 * @param obj the {@link User} whose password should be decrypted
 */
@PostLoad
@PostUpdate
public void decrypt(Object obj) throws IllegalAccessException {
    EncrypterUtil.decrypt(obj);
}
 
源代码19 项目: warpdb   文件: Mapper.java
public Mapper(Class<T> clazz) {
	super();
	List<AccessibleProperty> all = getPropertiesIncludeHierarchy(clazz);
	// check duplicate name:
	Set<String> propertyNamesSet = new HashSet<>();
	for (String propertyName : all.stream().map((p) -> {
		return p.propertyName;
	}).toArray(String[]::new)) {
		if (!propertyNamesSet.add(propertyName.toLowerCase())) {
			throw new ConfigurationException(
					"Duplicate property name found: " + propertyName + " in class: " + clazz.getName());
		}
	}
	Set<String> columnNamesSet = new HashSet<>();
	for (String columnName : all.stream().map((p) -> {
		return p.columnName;
	}).toArray(String[]::new)) {
		if (!columnNamesSet.add(columnName.toLowerCase())) {
			throw new ConfigurationException("Duplicate column name found: " + columnName);
		}
	}
	// check @Id:
	AccessibleProperty[] ids = all.stream().filter((p) -> {
		return p.isId();
	}).sorted((p1, p2) -> {
		return p1.columnName.compareTo(p2.columnName);
	}).toArray(AccessibleProperty[]::new);
	if (ids.length == 0) {
		throw new ConfigurationException("No @Id found.");
	}
	if (ids.length > 1 && all.stream().filter((p) -> {
		return p.isId() && p.isIdentityId();
	}).count() > 0) {
		throw new ConfigurationException("Mutiple @Id cannot be identity.");
	}
	// get @Version:
	AccessibleProperty[] versions = all.stream().filter((p) -> {
		return p.isVersion();
	}).toArray(AccessibleProperty[]::new);
	if (versions.length > 1) {
		throw new ConfigurationException("Multiple @Version found.");
	}
	this.version = versions.length == 0 ? null : versions[0];

	this.allProperties = all;
	this.allPropertiesMap = buildPropertiesMap(this.allProperties);

	this.insertableProperties = all.stream().filter((p) -> {
		if (p.isIdentityId()) {
			return false;
		}
		return p.isInsertable();
	}).collect(Collectors.toList());

	this.updatableProperties = all.stream().filter((p) -> {
		return p.isUpdatable();
	}).collect(Collectors.toList());

	this.updatablePropertiesMap = buildPropertiesMap(this.updatableProperties);

	// init:
	this.ids = ids;
	this.entityClass = clazz;
	this.tableName = getTableName(clazz);

	this.whereIdsEquals = String.join(" AND ",
			Arrays.stream(this.ids).map(id -> id.columnName + " = ?").toArray(String[]::new));

	this.selectSQL = "SELECT * FROM " + this.tableName + " WHERE " + this.whereIdsEquals;

	String insertPostfix = this.tableName + " (" + String.join(", ", this.insertableProperties.stream().map((p) -> {
		return p.columnName;
	}).toArray(String[]::new)) + ") VALUES (" + numOfQuestions(this.insertableProperties.size()) + ")";
	this.insertSQL = "INSERT INTO " + insertPostfix;
	this.insertIgnoreSQL = "INSERT IGNORE INTO " + insertPostfix;

	this.updateSQL = "UPDATE " + this.tableName + " SET "
			+ String.join(", ", this.updatableProperties.stream().map((p) -> {
				return p.columnName + " = ?";
			}).toArray(String[]::new)) + " WHERE " + this.whereIdsEquals;

	this.deleteSQL = "DELETE FROM " + this.tableName + " WHERE " + this.whereIdsEquals;

	this.rowMapper = new BeanRowMapper<>(this.entityClass, this.allProperties);

	List<Method> methods = this.findMethods(clazz);
	this.prePersist = findListener(methods, PrePersist.class);
	this.preUpdate = findListener(methods, PreUpdate.class);
	this.preRemove = findListener(methods, PreRemove.class);
	this.postLoad = findListener(methods, PostLoad.class);
	this.postPersist = findListener(methods, PostPersist.class);
	this.postUpdate = findListener(methods, PostUpdate.class);
	this.postRemove = findListener(methods, PostRemove.class);
}
 
源代码20 项目: warpdb   文件: User.java
@PostUpdate
void postUpdate() {
	callbacks.add(PostUpdate.class);
}
 
源代码21 项目: nomulus   文件: EntityCallbacksListener.java
@PostUpdate
void postUpdate(Object entity) {
  EntityCallbackExecutor.create(PostUpdate.class).execute(entity, entity.getClass());
}
 
源代码22 项目: nomulus   文件: EntityCallbacksListenerTest.java
@PostUpdate
void entityEmbeddedNestedPostUpdate() {
  entityEmbeddedNestedPostUpdate++;
}
 
源代码23 项目: dolphin-platform   文件: AbstractEntity.java
@PostUpdate
public void onUpdate() {
    PersistenceListenerManager.getInstance().fireUpdated(this);
}
 
源代码24 项目: syncope   文件: JPAJSONAnyObjectListener.java
@PostPersist
@PostUpdate
public void readAfterSave(final JPAJSONAnyObject anyObject) {
    super.json2list(anyObject, true);
}
 
源代码25 项目: syncope   文件: JPAJSONGroupListener.java
@PostPersist
@PostUpdate
public void readAfterSave(final JPAJSONGroup group) {
    super.json2list(group, true);
}
 
源代码26 项目: syncope   文件: JPAJSONUserListener.java
@PostPersist
@PostUpdate
public void readAfterSave(final JPAJSONUser user) {
    super.json2list(user, true);
}
 
源代码27 项目: syncope   文件: JPAJSONLinkedAccountListener.java
@PostPersist
@PostUpdate
public void readAfterSave(final JPAJSONLinkedAccount account) {
    super.json2list(account, true);
}
 
源代码28 项目: hermes   文件: Model.java
/**
 * 更新后回调
 */
@PostUpdate
protected void onPostUpdate() {
	Logger.info("user '%s' update data '%s - %s'.", getUpdater(), this.getClass().getSimpleName(), getId());
}
 
源代码29 项目: tutorials   文件: AuditTrailListener.java
@PostPersist
@PostUpdate
@PostRemove
private void afterAnyUpdate(User user) {
    log.info("[USER AUDIT] add/update/delete complete for user: " + user.getId());
}
 
源代码30 项目: tutorials   文件: User.java
@PostUpdate
public void logUserUpdate() {
    log.info("Updated user: " + userName);
}
 
 类所在包
 类方法
 同包方法