Comparing version 0.0.22 to 0.0.23
{ | ||
"name": "js-jpa", | ||
"version": "0.0.22", | ||
"version": "0.0.23", | ||
"description": "jpa for node", | ||
@@ -5,0 +5,0 @@ "author": "stone", |
@@ -36,2 +36,10 @@ const SqlGenerator = require('../../jpa/SqlGenerator') | ||
getSave(schema, entity) { | ||
let insertSql = this.getInsert(schema, entity) | ||
let updateSql = this.getUpdate(schema, entity) | ||
let from = updateSql.indexOf('SET ') + 4 | ||
let to = updateSql.lastIndexOf(' WHERE') | ||
return insertSql + ' ON DUPLICATE KEY UPDATE ' + updateSql.substring(from, to) | ||
} | ||
getSelect(schema, where, pageRequest) { | ||
@@ -38,0 +46,0 @@ let order = (pageRequest && pageRequest.orders) ? this.getOrders(pageRequest.orders) : false |
@@ -41,2 +41,6 @@ const CriteriaBuilder = require('./CriteriaBuilder') | ||
repository.save = async (context, entity) => { | ||
return await this.executeSave(context, repository.schema, entity) | ||
} | ||
repository.delete = async (context, key) => { | ||
@@ -187,2 +191,6 @@ let primaryKey = SchemaUtil.getPrimaryKey(repository.schema) | ||
async executeSave(context, schema, entity) { | ||
return await context.query(this.generator.getSave(schema, entity)) | ||
} | ||
async executeCount(context, schema, where, values) { | ||
@@ -189,0 +197,0 @@ let result = await context.query(this.generator.getCount(schema, where), values) |
@@ -36,2 +36,4 @@ const SchemaUtil = require('../util/SchemaUtil') | ||
getSave(schema, entity) { } | ||
getDelete(schema, where) { | ||
@@ -38,0 +40,0 @@ let sql = `DELETE FROM \`${schema.name}\`` |
@@ -31,2 +31,3 @@ export function newDataSource(config: JpaConfig): Promise<DataSource> | ||
update(context: JpaContext, entity: any): Promise<any> | ||
save(context: JpaContext, entity: any): Promise<any> | ||
delete(context: JpaContext, key: any): Promise<any> | ||
@@ -33,0 +34,0 @@ get(context: JpaContext, key: any): Promise<any> |
22599
719