这个想法基本上是用自定义功能扩展一些存储库。所以我得到了这个设置,它确实有效!
@MappedSuperclass
abstract class MyBaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
var id: Int = 0
var eid: Int = 0
}
interface MyRepository<T : MyBaseEntity> {
@Transactional
fun saveInsert(entity: T): Optional<T>
}
open class MyRepositoryImpl<T : MyBaseEntity> : MyRepository<T> {
@Autowired
private lateinit var entityManager: EntityManager
@Transactional
override fun saveInsert(entity: T): Optional<T> {
// lock table
entityManager.createNativeQuery("LOCK TABLE myTable WRITE").executeUpdate()
// get current max EID
val result = entityManager.createNativeQuery("SELECT MAX(eid) FROM myTable LIMIT 1").singleResult as? Int ?: 0 …Run Code Online (Sandbox Code Playgroud) REST 服务有两个节点
GET/items返回项目列表:
[
{
"id": 34,
"name": "apple",
"available_amount" : 10
},
{
"id": 37,
"name": "banana",
"available_amount" : 30
},
...
]
Run Code Online (Sandbox Code Playgroud)
POST/orders使用请求的项目创建订单(假设我们在这里订购 6 个苹果)并返回订单:
{
"id": 12337,
"items": [
{
"id": 34,
"name": "apple",
"ordered_amount": 6
}
]
}
Run Code Online (Sandbox Code Playgroud)
我如何将创建的订单通知客户端应用程序,该订单也减少了available_amount,4因为6苹果已售出。
我是否将受影响的资源与order结果一起返回,以便客户端知道要更新什么?
像节点路径:
{
"id": 12337,
"items": [
{
"item_id": 34,
"ordered_amount": 6
}
],
"affected_resources" : [
"/items/34"
]
}
Run Code Online (Sandbox Code Playgroud)
甚至完全改变的资源:
{
"id": 12337,
"items": …Run Code Online (Sandbox Code Playgroud) 我想知道我是否可以安全地删除此行:
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
Run Code Online (Sandbox Code Playgroud)
当我使用gradle构建我的APK时,从我的AndroidManifest.xml.
根据网站https://developers.google.com/android/guides/setup,只有当我选择"ECLIPSE WITH ADT"时,我必须添加此行.对于"ANDROID STUDIO"用法,没有提及.
但在我的情况下,我使用Eclipse(使用ADT)作为IDE,但我使用gradle构建.(实际上它是一个libGDX项目).所以我使用gradle添加了play-services:
compile "com.google.android.gms:play-services:8.1.0"
Run Code Online (Sandbox Code Playgroud)
所以我在测试设备上运行应用程序,我测试了使用play-services登录,并且在我的AndroidManifest.xml中没有上面的行就可以正常工作
但是,也许登录只是不需要"com.google.android.gms.version"值而播放服务lib的另一部分需要它吗?但我无法测试使用lib的所有可能方法.
有人知道吗?
或者对于那些使用Android Studio +播放服务的人:您的AndroidManifest.xml是否具有以上行?
我想使用 MailChimp API 3.0:
http://developer.mailchimp.com/documentation/mailchimp/reference/lists/members/#
如何设置的查询字符串参数字段since_timestamp_opt,before_timestamp_opt,since_last_changed和before_last_changed?
它是一个timestamp,像这样的:2016-03-08 17:50:41还是别的什么?
有人可以举个例子吗?
我有一个这样的commandController(使用TYPO3 6.1):
class MyCommandController extends \TYPO3\CMS\Extbase\Mvc\Controller\CommandController {
/**
* fileRepository
*
* @var \VENDOR\MyExt\Domain\Repository\FileRepository
* @inject
*/
protected $fileRepository;
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试演员
$this->fileRepository->findAll();
Run Code Online (Sandbox Code Playgroud)
我得到:
Fatal error: Call to a member function findAll() on a non-object in
Run Code Online (Sandbox Code Playgroud)
看起来像@inject一样不会自动注入repostory,就像它在ActionControllers中一样.
我如何手动注入存储库?