diff --git a/src/e2eTest/kotlin/AssertionUtil.kt b/src/e2eTest/kotlin/AssertionUtil.kt
index 8083b825..6b82aa59 100644
--- a/src/e2eTest/kotlin/AssertionUtil.kt
+++ b/src/e2eTest/kotlin/AssertionUtil.kt
@@ -1,4 +1,4 @@
-import dev.usbharu.hideout.core.infrastructure.exposedrepository.Users
+import dev.usbharu.hideout.core.infrastructure.exposedrepository.Actors
 import org.jetbrains.exposed.sql.and
 import org.jetbrains.exposed.sql.select
 import org.jetbrains.exposed.sql.selectAll
@@ -16,13 +16,13 @@ object AssertionUtil {
             domain
         }
 
-        val selectAll = Users.selectAll()
+        val selectAll = Actors.selectAll()
         println(selectAll.fetchSize)
 
         println(selectAll.toList().size)
 
-        selectAll.map { "@${it[Users.name]}@${it[Users.domain]}" }.forEach { println(it) }
+        selectAll.map { "@${it[Actors.name]}@${it[Actors.domain]}" }.forEach { println(it) }
 
-        return Users.select { Users.name eq username and (Users.domain eq s) }.empty().not()
+        return Actors.select { Actors.name eq username and (Actors.domain eq s) }.empty().not()
     }
 }
diff --git a/src/intTest/kotlin/mastodon/account/AccountApiTest.kt b/src/intTest/kotlin/mastodon/account/AccountApiTest.kt
index 0c69e626..cf67b35d 100644
--- a/src/intTest/kotlin/mastodon/account/AccountApiTest.kt
+++ b/src/intTest/kotlin/mastodon/account/AccountApiTest.kt
@@ -1,8 +1,8 @@
 package mastodon.account
 
 import dev.usbharu.hideout.SpringApplication
+import dev.usbharu.hideout.core.infrastructure.exposedquery.ActorQueryServiceImpl
 import dev.usbharu.hideout.core.infrastructure.exposedquery.FollowerQueryServiceImpl
-import dev.usbharu.hideout.core.infrastructure.exposedquery.UserQueryServiceImpl
 import kotlinx.coroutines.test.runTest
 import org.assertj.core.api.Assertions.assertThat
 import org.flywaydb.core.Flyway
@@ -39,7 +39,7 @@ class AccountApiTest {
     private lateinit var followerQueryServiceImpl: FollowerQueryServiceImpl
 
     @Autowired
-    private lateinit var userQueryServiceImpl: UserQueryServiceImpl
+    private lateinit var userQueryServiceImpl: ActorQueryServiceImpl
 
 
     @Autowired
diff --git a/src/intTest/kotlin/util/WithHttpSignatureSecurityContextFactory.kt b/src/intTest/kotlin/util/WithHttpSignatureSecurityContextFactory.kt
index 9108e357..faabf58a 100644
--- a/src/intTest/kotlin/util/WithHttpSignatureSecurityContextFactory.kt
+++ b/src/intTest/kotlin/util/WithHttpSignatureSecurityContextFactory.kt
@@ -2,7 +2,7 @@ package util
 
 import dev.usbharu.hideout.application.external.Transaction
 import dev.usbharu.hideout.core.infrastructure.springframework.httpsignature.HttpSignatureUser
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.httpsignature.common.HttpHeaders
 import dev.usbharu.httpsignature.common.HttpMethod
 import dev.usbharu.httpsignature.common.HttpRequest
@@ -14,7 +14,7 @@ import org.springframework.security.web.authentication.preauth.PreAuthenticatedA
 import java.net.URL
 
 class WithHttpSignatureSecurityContextFactory(
-    private val userQueryService: UserQueryService,
+    private val actorQueryService: ActorQueryService,
     private val transaction: Transaction
 ) : WithSecurityContextFactory<WithHttpSignature> {
 
@@ -28,7 +28,7 @@ class WithHttpSignatureSecurityContextFactory(
             )
         )
         val httpSignatureUser = transaction.transaction {
-            val findByKeyId = userQueryService.findByKeyId(annotation.keyId)
+            val findByKeyId = actorQueryService.findByKeyId(annotation.keyId)
             HttpSignatureUser(
                 findByKeyId.name,
                 findByKeyId.domain,
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/infrastructure/exposedquery/NoteQueryServiceImpl.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/infrastructure/exposedquery/NoteQueryServiceImpl.kt
index 561b8de2..19b217d5 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/infrastructure/exposedquery/NoteQueryServiceImpl.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/infrastructure/exposedquery/NoteQueryServiceImpl.kt
@@ -23,7 +23,7 @@ class NoteQueryServiceImpl(private val postRepository: PostRepository, private v
     NoteQueryService {
     override suspend fun findById(id: Long): Pair<Note, Post> {
         return Posts
-            .leftJoin(Users)
+            .leftJoin(Actors)
             .leftJoin(PostsMedia)
             .leftJoin(Media)
             .select { Posts.id eq id }
@@ -35,7 +35,7 @@ class NoteQueryServiceImpl(private val postRepository: PostRepository, private v
 
     override suspend fun findByApid(apId: String): Pair<Note, Post> {
         return Posts
-            .leftJoin(Users)
+            .leftJoin(Actors)
             .leftJoin(PostsMedia)
             .leftJoin(Media)
             .select { Posts.apId eq apId }
@@ -61,11 +61,11 @@ class NoteQueryServiceImpl(private val postRepository: PostRepository, private v
         val visibility1 =
             visibility(
                 Visibility.values().first { visibility -> visibility.ordinal == this[Posts.visibility] },
-                this[Users.followers]
+                this[Actors.followers]
             )
         return Note(
             id = this[Posts.apId],
-            attributedTo = this[Users.url],
+            attributedTo = this[Actors.url],
             content = this[Posts.text],
             published = Instant.ofEpochMilli(this[Posts.createdAt]).toString(),
             to = visibility1.first,
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/accept/APDeliverAcceptJobProcessor.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/accept/APDeliverAcceptJobProcessor.kt
index 343dcb50..3a48b5df 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/accept/APDeliverAcceptJobProcessor.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/accept/APDeliverAcceptJobProcessor.kt
@@ -4,20 +4,20 @@ import dev.usbharu.hideout.activitypub.service.common.APRequestService
 import dev.usbharu.hideout.application.external.Transaction
 import dev.usbharu.hideout.core.external.job.DeliverAcceptJob
 import dev.usbharu.hideout.core.external.job.DeliverAcceptJobParam
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.service.job.JobProcessor
 import org.springframework.stereotype.Service
 
 @Service
 class APDeliverAcceptJobProcessor(
     private val apRequestService: APRequestService,
-    private val userQueryService: UserQueryService,
+    private val actorQueryService: ActorQueryService,
     private val deliverAcceptJob: DeliverAcceptJob,
     private val transaction: Transaction
 ) :
     JobProcessor<DeliverAcceptJobParam, DeliverAcceptJob> {
     override suspend fun process(param: DeliverAcceptJobParam): Unit = transaction.transaction {
-        apRequestService.apPost(param.inbox, param.accept, userQueryService.findById(param.signer))
+        apRequestService.apPost(param.inbox, param.accept, actorQueryService.findById(param.signer))
     }
 
     override fun job(): DeliverAcceptJob = deliverAcceptJob
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/accept/ApAcceptProcessor.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/accept/ApAcceptProcessor.kt
index 24a54ef5..1a48f22d 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/accept/ApAcceptProcessor.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/accept/ApAcceptProcessor.kt
@@ -7,14 +7,14 @@ import dev.usbharu.hideout.activitypub.service.common.AbstractActivityPubProcess
 import dev.usbharu.hideout.activitypub.service.common.ActivityPubProcessContext
 import dev.usbharu.hideout.activitypub.service.common.ActivityType
 import dev.usbharu.hideout.application.external.Transaction
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.service.relationship.RelationshipService
 import org.springframework.stereotype.Service
 
 @Service
 class ApAcceptProcessor(
     transaction: Transaction,
-    private val userQueryService: UserQueryService,
+    private val actorQueryService: ActorQueryService,
     private val relationshipService: RelationshipService
 ) :
     AbstractActivityPubProcessor<Accept>(transaction) {
@@ -32,8 +32,8 @@ class ApAcceptProcessor(
         val userUrl = follow.apObject
         val followerUrl = follow.actor
 
-        val user = userQueryService.findByUrl(userUrl)
-        val follower = userQueryService.findByUrl(followerUrl)
+        val user = actorQueryService.findByUrl(userUrl)
+        val follower = actorQueryService.findByUrl(followerUrl)
 
         relationshipService.acceptFollowRequest(user.id, follower.id)
         logger.debug("SUCCESS Follow from ${user.url} to ${follower.url}.")
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/accept/ApSendAcceptService.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/accept/ApSendAcceptService.kt
index 35270235..2a52fd1c 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/accept/ApSendAcceptService.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/accept/ApSendAcceptService.kt
@@ -2,14 +2,14 @@ package dev.usbharu.hideout.activitypub.service.activity.accept
 
 import dev.usbharu.hideout.activitypub.domain.model.Accept
 import dev.usbharu.hideout.activitypub.domain.model.Follow
-import dev.usbharu.hideout.core.domain.model.user.User
+import dev.usbharu.hideout.core.domain.model.actor.Actor
 import dev.usbharu.hideout.core.external.job.DeliverAcceptJob
 import dev.usbharu.hideout.core.external.job.DeliverAcceptJobParam
 import dev.usbharu.hideout.core.service.job.JobQueueParentService
 import org.springframework.stereotype.Service
 
 interface ApSendAcceptService {
-    suspend fun sendAcceptFollow(user: User, target: User)
+    suspend fun sendAcceptFollow(actor: Actor, target: Actor)
 }
 
 @Service
@@ -17,17 +17,17 @@ class ApSendAcceptServiceImpl(
     private val jobQueueParentService: JobQueueParentService,
     private val deliverAcceptJob: DeliverAcceptJob
 ) : ApSendAcceptService {
-    override suspend fun sendAcceptFollow(user: User, target: User) {
+    override suspend fun sendAcceptFollow(actor: Actor, target: Actor) {
         val deliverAcceptJobParam = DeliverAcceptJobParam(
             Accept(
                 apObject = Follow(
-                    apObject = user.url,
+                    apObject = actor.url,
                     actor = target.url
                 ),
-                actor = user.url
+                actor = actor.url
             ),
             target.inbox,
-            user.id
+            actor.id
         )
 
         jobQueueParentService.scheduleTypeSafe(deliverAcceptJob, deliverAcceptJobParam)
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/block/APDeliverBlockJobProcessor.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/block/APDeliverBlockJobProcessor.kt
index a97a0f19..bc946419 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/block/APDeliverBlockJobProcessor.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/block/APDeliverBlockJobProcessor.kt
@@ -2,7 +2,7 @@ package dev.usbharu.hideout.activitypub.service.activity.block
 
 import dev.usbharu.hideout.activitypub.service.common.APRequestService
 import dev.usbharu.hideout.application.external.Transaction
-import dev.usbharu.hideout.core.domain.model.user.UserRepository
+import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
 import dev.usbharu.hideout.core.external.job.DeliverBlockJob
 import dev.usbharu.hideout.core.external.job.DeliverBlockJobParam
 import dev.usbharu.hideout.core.service.job.JobProcessor
@@ -14,12 +14,12 @@ import org.springframework.stereotype.Service
 @Service
 class APDeliverBlockJobProcessor(
     private val apRequestService: APRequestService,
-    private val userRepository: UserRepository,
+    private val actorRepository: ActorRepository,
     private val transaction: Transaction,
     private val deliverBlockJob: DeliverBlockJob
 ) : JobProcessor<DeliverBlockJobParam, DeliverBlockJob> {
     override suspend fun process(param: DeliverBlockJobParam): Unit = transaction.transaction {
-        val signer = userRepository.findById(param.signer)
+        val signer = actorRepository.findById(param.signer)
         apRequestService.apPost(
             param.inbox,
             param.reject,
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/block/APSendBlockService.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/block/APSendBlockService.kt
index f814da7e..8e689d96 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/block/APSendBlockService.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/block/APSendBlockService.kt
@@ -4,14 +4,14 @@ import dev.usbharu.hideout.activitypub.domain.model.Block
 import dev.usbharu.hideout.activitypub.domain.model.Follow
 import dev.usbharu.hideout.activitypub.domain.model.Reject
 import dev.usbharu.hideout.application.config.ApplicationConfig
-import dev.usbharu.hideout.core.domain.model.user.User
+import dev.usbharu.hideout.core.domain.model.actor.Actor
 import dev.usbharu.hideout.core.external.job.DeliverBlockJob
 import dev.usbharu.hideout.core.external.job.DeliverBlockJobParam
 import dev.usbharu.hideout.core.service.job.JobQueueParentService
 import org.springframework.stereotype.Service
 
 interface APSendBlockService {
-    suspend fun sendBlock(user: User, target: User)
+    suspend fun sendBlock(actor: Actor, target: Actor)
 }
 
 @Service
@@ -20,19 +20,19 @@ class ApSendBlockServiceImpl(
     private val jobQueueParentService: JobQueueParentService,
     private val deliverBlockJob: DeliverBlockJob
 ) : APSendBlockService {
-    override suspend fun sendBlock(user: User, target: User) {
+    override suspend fun sendBlock(actor: Actor, target: Actor) {
         val blockJobParam = DeliverBlockJobParam(
-            user.id,
+            actor.id,
             Block(
-                user.url,
-                "${applicationConfig.url}/block/${user.id}/${target.id}",
+                actor.url,
+                "${applicationConfig.url}/block/${actor.id}/${target.id}",
                 target.url
             ),
             Reject(
-                user.url,
-                "${applicationConfig.url}/reject/${user.id}/${target.id}",
+                actor.url,
+                "${applicationConfig.url}/reject/${actor.id}/${target.id}",
                 Follow(
-                    apObject = user.url,
+                    apObject = actor.url,
                     actor = target.url
                 )
             ),
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/block/BlockActivityPubProcessor.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/block/BlockActivityPubProcessor.kt
index 075bf893..e31f4e6c 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/block/BlockActivityPubProcessor.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/block/BlockActivityPubProcessor.kt
@@ -5,7 +5,7 @@ import dev.usbharu.hideout.activitypub.service.common.AbstractActivityPubProcess
 import dev.usbharu.hideout.activitypub.service.common.ActivityPubProcessContext
 import dev.usbharu.hideout.activitypub.service.common.ActivityType
 import dev.usbharu.hideout.application.external.Transaction
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.service.relationship.RelationshipService
 import org.springframework.stereotype.Service
 
@@ -14,14 +14,14 @@ import org.springframework.stereotype.Service
  */
 @Service
 class BlockActivityPubProcessor(
-    private val userQueryService: UserQueryService,
+    private val actorQueryService: ActorQueryService,
     private val relationshipService: RelationshipService,
     transaction: Transaction
 ) :
     AbstractActivityPubProcessor<Block>(transaction) {
     override suspend fun internalProcess(activity: ActivityPubProcessContext<Block>) {
-        val user = userQueryService.findByUrl(activity.activity.actor)
-        val target = userQueryService.findByUrl(activity.activity.apObject)
+        val user = actorQueryService.findByUrl(activity.activity.actor)
+        val target = actorQueryService.findByUrl(activity.activity.apObject)
         relationshipService.block(user.id, target.id)
     }
 
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/create/ApSendCreateServiceImpl.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/create/ApSendCreateServiceImpl.kt
index 226f2a63..0ba9413e 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/create/ApSendCreateServiceImpl.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/create/ApSendCreateServiceImpl.kt
@@ -6,8 +6,8 @@ import dev.usbharu.hideout.activitypub.query.NoteQueryService
 import dev.usbharu.hideout.application.config.ApplicationConfig
 import dev.usbharu.hideout.core.domain.model.post.Post
 import dev.usbharu.hideout.core.external.job.DeliverPostJob
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.query.FollowerQueryService
-import dev.usbharu.hideout.core.query.UserQueryService
 import dev.usbharu.hideout.core.service.job.JobQueueParentService
 import org.slf4j.LoggerFactory
 import org.springframework.stereotype.Service
@@ -17,7 +17,7 @@ class ApSendCreateServiceImpl(
     private val followerQueryService: FollowerQueryService,
     private val objectMapper: ObjectMapper,
     private val jobQueueParentService: JobQueueParentService,
-    private val userQueryService: UserQueryService,
+    private val actorQueryService: ActorQueryService,
     private val noteQueryService: NoteQueryService,
     private val applicationConfig: ApplicationConfig
 ) : ApSendCreateService {
@@ -25,11 +25,11 @@ class ApSendCreateServiceImpl(
         logger.info("CREATE Create Local Note ${post.url}")
         logger.debug("START Create Local Note ${post.url}")
         logger.trace("{}", post)
-        val followers = followerQueryService.findFollowersById(post.userId)
+        val followers = followerQueryService.findFollowersById(post.actorId)
 
         logger.debug("DELIVER Deliver Note Create ${followers.size} accounts.")
 
-        val userEntity = userQueryService.findById(post.userId)
+        val userEntity = actorQueryService.findById(post.actorId)
         val note = noteQueryService.findById(post.id).first
         val create = Create(
             name = "Create Note",
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/follow/APReceiveFollowJobProcessor.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/follow/APReceiveFollowJobProcessor.kt
index 1f79af46..292f0ee2 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/follow/APReceiveFollowJobProcessor.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/follow/APReceiveFollowJobProcessor.kt
@@ -7,7 +7,7 @@ import dev.usbharu.hideout.activitypub.service.objects.user.APUserService
 import dev.usbharu.hideout.application.external.Transaction
 import dev.usbharu.hideout.core.external.job.ReceiveFollowJob
 import dev.usbharu.hideout.core.external.job.ReceiveFollowJobParam
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.service.job.JobProcessor
 import dev.usbharu.hideout.core.service.relationship.RelationshipService
 import org.slf4j.LoggerFactory
@@ -16,7 +16,7 @@ import org.springframework.stereotype.Service
 @Service
 class APReceiveFollowJobProcessor(
     private val transaction: Transaction,
-    private val userQueryService: UserQueryService,
+    private val actorQueryService: ActorQueryService,
     private val apUserService: APUserService,
     private val objectMapper: ObjectMapper,
     private val relationshipService: RelationshipService
@@ -28,9 +28,9 @@ class APReceiveFollowJobProcessor(
 
         logger.info("START Follow from: {} to {}", param.targetActor, param.actor)
 
-        val targetEntity = userQueryService.findByUrl(param.targetActor)
+        val targetEntity = actorQueryService.findByUrl(param.targetActor)
         val followActorEntity =
-            userQueryService.findByUrl(follow.actor)
+            actorQueryService.findByUrl(follow.actor)
 
         relationshipService.followRequest(followActorEntity.id, targetEntity.id)
 
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/follow/APSendFollowService.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/follow/APSendFollowService.kt
index 825ec198..87ad7cd7 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/follow/APSendFollowService.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/follow/APSendFollowService.kt
@@ -15,10 +15,10 @@ class APSendFollowServiceImpl(
 ) : APSendFollowService {
     override suspend fun sendFollow(sendFollowDto: SendFollowDto) {
         val follow = Follow(
-            apObject = sendFollowDto.followTargetUserId.url,
-            actor = sendFollowDto.userId.url
+            apObject = sendFollowDto.followTargetActorId.url,
+            actor = sendFollowDto.actorId.url
         )
 
-        apRequestService.apPost(sendFollowDto.followTargetUserId.inbox, follow, sendFollowDto.userId)
+        apRequestService.apPost(sendFollowDto.followTargetActorId.inbox, follow, sendFollowDto.actorId)
     }
 }
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/like/APReactionService.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/like/APReactionService.kt
index 53063c50..1995cf83 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/like/APReactionService.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/like/APReactionService.kt
@@ -4,9 +4,9 @@ import com.fasterxml.jackson.databind.ObjectMapper
 import dev.usbharu.hideout.core.domain.model.reaction.Reaction
 import dev.usbharu.hideout.core.external.job.DeliverReactionJob
 import dev.usbharu.hideout.core.external.job.DeliverRemoveReactionJob
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.query.FollowerQueryService
 import dev.usbharu.hideout.core.query.PostQueryService
-import dev.usbharu.hideout.core.query.UserQueryService
 import dev.usbharu.hideout.core.service.job.JobQueueParentService
 import org.springframework.beans.factory.annotation.Qualifier
 import org.springframework.stereotype.Service
@@ -19,14 +19,14 @@ interface APReactionService {
 @Service
 class APReactionServiceImpl(
     private val jobQueueParentService: JobQueueParentService,
-    private val userQueryService: UserQueryService,
+    private val actorQueryService: ActorQueryService,
     private val followerQueryService: FollowerQueryService,
     private val postQueryService: PostQueryService,
     @Qualifier("activitypub") private val objectMapper: ObjectMapper
 ) : APReactionService {
     override suspend fun reaction(like: Reaction) {
-        val followers = followerQueryService.findFollowersById(like.userId)
-        val user = userQueryService.findById(like.userId)
+        val followers = followerQueryService.findFollowersById(like.actorId)
+        val user = actorQueryService.findById(like.actorId)
         val post =
             postQueryService.findById(like.postId)
         followers.forEach { follower ->
@@ -41,8 +41,8 @@ class APReactionServiceImpl(
     }
 
     override suspend fun removeReaction(like: Reaction) {
-        val followers = followerQueryService.findFollowersById(like.userId)
-        val user = userQueryService.findById(like.userId)
+        val followers = followerQueryService.findFollowersById(like.actorId)
+        val user = actorQueryService.findById(like.actorId)
         val post =
             postQueryService.findById(like.postId)
         followers.forEach { follower ->
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/like/ApReactionJobProcessor.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/like/ApReactionJobProcessor.kt
index 1487eb56..e7857e8e 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/like/ApReactionJobProcessor.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/like/ApReactionJobProcessor.kt
@@ -6,19 +6,19 @@ import dev.usbharu.hideout.application.config.ApplicationConfig
 import dev.usbharu.hideout.application.external.Transaction
 import dev.usbharu.hideout.core.external.job.DeliverReactionJob
 import dev.usbharu.hideout.core.external.job.DeliverReactionJobParam
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.service.job.JobProcessor
 import org.springframework.stereotype.Service
 
 @Service
 class ApReactionJobProcessor(
-    private val userQueryService: UserQueryService,
+    private val actorQueryService: ActorQueryService,
     private val apRequestService: APRequestService,
     private val applicationConfig: ApplicationConfig,
     private val transaction: Transaction
 ) : JobProcessor<DeliverReactionJobParam, DeliverReactionJob> {
     override suspend fun process(param: DeliverReactionJobParam): Unit = transaction.transaction {
-        val signer = userQueryService.findByUrl(param.actor)
+        val signer = actorQueryService.findByUrl(param.actor)
 
         apRequestService.apPost(
             param.inbox,
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/like/ApRemoveReactionJobProcessor.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/like/ApRemoveReactionJobProcessor.kt
index 0409b9a0..5dd3e6e7 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/like/ApRemoveReactionJobProcessor.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/like/ApRemoveReactionJobProcessor.kt
@@ -9,14 +9,14 @@ import dev.usbharu.hideout.application.config.ApplicationConfig
 import dev.usbharu.hideout.application.external.Transaction
 import dev.usbharu.hideout.core.external.job.DeliverRemoveReactionJob
 import dev.usbharu.hideout.core.external.job.DeliverRemoveReactionJobParam
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.service.job.JobProcessor
 import org.springframework.stereotype.Service
 import java.time.Instant
 
 @Service
 class ApRemoveReactionJobProcessor(
-    private val userQueryService: UserQueryService,
+    private val actorQueryService: ActorQueryService,
     private val transaction: Transaction,
     private val objectMapper: ObjectMapper,
     private val apRequestService: APRequestService,
@@ -25,7 +25,7 @@ class ApRemoveReactionJobProcessor(
     override suspend fun process(param: DeliverRemoveReactionJobParam): Unit = transaction.transaction {
         val like = objectMapper.readValue<Like>(param.like)
 
-        val signer = userQueryService.findByUrl(param.actor)
+        val signer = actorQueryService.findByUrl(param.actor)
 
         apRequestService.apPost(
             param.inbox,
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/reject/APDeliverRejectJobProcessor.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/reject/APDeliverRejectJobProcessor.kt
index 575a34de..0ef702d5 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/reject/APDeliverRejectJobProcessor.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/reject/APDeliverRejectJobProcessor.kt
@@ -4,20 +4,20 @@ import dev.usbharu.hideout.activitypub.service.common.APRequestService
 import dev.usbharu.hideout.application.external.Transaction
 import dev.usbharu.hideout.core.external.job.DeliverRejectJob
 import dev.usbharu.hideout.core.external.job.DeliverRejectJobParam
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.service.job.JobProcessor
 import org.springframework.stereotype.Component
 
 @Component
 class APDeliverRejectJobProcessor(
     private val apRequestService: APRequestService,
-    private val userQueryService: UserQueryService,
+    private val actorQueryService: ActorQueryService,
     private val deliverRejectJob: DeliverRejectJob,
     private val transaction: Transaction
 ) :
     JobProcessor<DeliverRejectJobParam, DeliverRejectJob> {
     override suspend fun process(param: DeliverRejectJobParam): Unit = transaction.transaction {
-        apRequestService.apPost(param.inbox, param.reject, userQueryService.findById(param.signer))
+        apRequestService.apPost(param.inbox, param.reject, actorQueryService.findById(param.signer))
     }
 
     override fun job(): DeliverRejectJob = deliverRejectJob
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/reject/ApRejectProcessor.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/reject/ApRejectProcessor.kt
index d86a583a..29bbd1f9 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/reject/ApRejectProcessor.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/reject/ApRejectProcessor.kt
@@ -6,14 +6,14 @@ import dev.usbharu.hideout.activitypub.service.common.AbstractActivityPubProcess
 import dev.usbharu.hideout.activitypub.service.common.ActivityPubProcessContext
 import dev.usbharu.hideout.activitypub.service.common.ActivityType
 import dev.usbharu.hideout.application.external.Transaction
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.service.relationship.RelationshipService
 import org.springframework.stereotype.Service
 
 @Service
 class ApRejectProcessor(
     private val relationshipService: RelationshipService,
-    private val userQueryService: UserQueryService,
+    private val actorQueryService: ActorQueryService,
     transaction: Transaction
 ) :
     AbstractActivityPubProcessor<Reject>(transaction) {
@@ -26,13 +26,13 @@ class ApRejectProcessor(
         }
         when (activityType) {
             "Follow" -> {
-                val user = userQueryService.findByUrl(activity.activity.actor)
+                val user = actorQueryService.findByUrl(activity.activity.actor)
 
                 activity.activity.apObject as Follow
 
                 val actor = activity.activity.apObject.actor
 
-                val target = userQueryService.findByUrl(actor)
+                val target = actorQueryService.findByUrl(actor)
 
                 logger.debug("REJECT Follow user {} target {}", user.url, target.url)
 
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/reject/ApSendRejectService.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/reject/ApSendRejectService.kt
index ecb675c2..2be2e379 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/reject/ApSendRejectService.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/reject/ApSendRejectService.kt
@@ -1,7 +1,7 @@
 package dev.usbharu.hideout.activitypub.service.activity.reject
 
-import dev.usbharu.hideout.core.domain.model.user.User
+import dev.usbharu.hideout.core.domain.model.actor.Actor
 
 interface ApSendRejectService {
-    suspend fun sendRejectFollow(user: User, target: User)
+    suspend fun sendRejectFollow(actor: Actor, target: Actor)
 }
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/reject/ApSendRejectServiceImpl.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/reject/ApSendRejectServiceImpl.kt
index fb7610bb..a5d8194c 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/reject/ApSendRejectServiceImpl.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/reject/ApSendRejectServiceImpl.kt
@@ -3,7 +3,7 @@ package dev.usbharu.hideout.activitypub.service.activity.reject
 import dev.usbharu.hideout.activitypub.domain.model.Follow
 import dev.usbharu.hideout.activitypub.domain.model.Reject
 import dev.usbharu.hideout.application.config.ApplicationConfig
-import dev.usbharu.hideout.core.domain.model.user.User
+import dev.usbharu.hideout.core.domain.model.actor.Actor
 import dev.usbharu.hideout.core.external.job.DeliverRejectJob
 import dev.usbharu.hideout.core.external.job.DeliverRejectJobParam
 import dev.usbharu.hideout.core.service.job.JobQueueParentService
@@ -15,15 +15,15 @@ class ApSendRejectServiceImpl(
     private val jobQueueParentService: JobQueueParentService,
     private val deliverRejectJob: DeliverRejectJob
 ) : ApSendRejectService {
-    override suspend fun sendRejectFollow(user: User, target: User) {
+    override suspend fun sendRejectFollow(actor: Actor, target: Actor) {
         val deliverRejectJobParam = DeliverRejectJobParam(
             Reject(
-                user.url,
-                "${applicationConfig.url}/reject/${user.id}/${target.id}",
-                Follow(apObject = user.url, actor = target.url)
+                actor.url,
+                "${applicationConfig.url}/reject/${actor.id}/${target.id}",
+                Follow(apObject = actor.url, actor = target.url)
             ),
             target.inbox,
-            user.id
+            actor.id
         )
 
         jobQueueParentService.scheduleTypeSafe(deliverRejectJob, deliverRejectJobParam)
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/undo/APDeliverUndoJobProcessor.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/undo/APDeliverUndoJobProcessor.kt
index d5f1fec2..70e31921 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/undo/APDeliverUndoJobProcessor.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/undo/APDeliverUndoJobProcessor.kt
@@ -4,7 +4,7 @@ import dev.usbharu.hideout.activitypub.service.common.APRequestService
 import dev.usbharu.hideout.application.external.Transaction
 import dev.usbharu.hideout.core.external.job.DeliverUndoJob
 import dev.usbharu.hideout.core.external.job.DeliverUndoJobParam
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.service.job.JobProcessor
 import org.springframework.stereotype.Service
 
@@ -12,11 +12,11 @@ import org.springframework.stereotype.Service
 class APDeliverUndoJobProcessor(
     private val deliverUndoJob: DeliverUndoJob,
     private val apRequestService: APRequestService,
-    private val userQueryService: UserQueryService,
+    private val actorQueryService: ActorQueryService,
     private val transaction: Transaction
 ) : JobProcessor<DeliverUndoJobParam, DeliverUndoJob> {
     override suspend fun process(param: DeliverUndoJobParam): Unit = transaction.transaction {
-        apRequestService.apPost(param.inbox, param.undo, userQueryService.findById(param.signer))
+        apRequestService.apPost(param.inbox, param.undo, actorQueryService.findById(param.signer))
     }
 
     override fun job(): DeliverUndoJob = deliverUndoJob
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/undo/APSendUndoService.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/undo/APSendUndoService.kt
index 827b186e..95114dd2 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/undo/APSendUndoService.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/undo/APSendUndoService.kt
@@ -1,8 +1,8 @@
 package dev.usbharu.hideout.activitypub.service.activity.undo
 
-import dev.usbharu.hideout.core.domain.model.user.User
+import dev.usbharu.hideout.core.domain.model.actor.Actor
 
 interface APSendUndoService {
-    suspend fun sendUndoFollow(user: User, target: User)
-    suspend fun sendUndoBlock(user: User, target: User)
+    suspend fun sendUndoFollow(actor: Actor, target: Actor)
+    suspend fun sendUndoBlock(actor: Actor, target: Actor)
 }
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/undo/APSendUndoServiceImpl.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/undo/APSendUndoServiceImpl.kt
index e1d4c6fd..6d0f251a 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/undo/APSendUndoServiceImpl.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/undo/APSendUndoServiceImpl.kt
@@ -4,7 +4,7 @@ import dev.usbharu.hideout.activitypub.domain.model.Block
 import dev.usbharu.hideout.activitypub.domain.model.Follow
 import dev.usbharu.hideout.activitypub.domain.model.Undo
 import dev.usbharu.hideout.application.config.ApplicationConfig
-import dev.usbharu.hideout.core.domain.model.user.User
+import dev.usbharu.hideout.core.domain.model.actor.Actor
 import dev.usbharu.hideout.core.external.job.DeliverUndoJob
 import dev.usbharu.hideout.core.external.job.DeliverUndoJobParam
 import dev.usbharu.hideout.core.service.job.JobQueueParentService
@@ -17,38 +17,38 @@ class APSendUndoServiceImpl(
     private val deliverUndoJob: DeliverUndoJob,
     private val applicationConfig: ApplicationConfig
 ) : APSendUndoService {
-    override suspend fun sendUndoFollow(user: User, target: User) {
+    override suspend fun sendUndoFollow(actor: Actor, target: Actor) {
         val deliverUndoJobParam = DeliverUndoJobParam(
             Undo(
-                actor = user.url,
-                id = "${applicationConfig.url}/undo/follow/${user.id}/${target.url}",
+                actor = actor.url,
+                id = "${applicationConfig.url}/undo/follow/${actor.id}/${target.url}",
                 apObject = Follow(
-                    apObject = user.url,
+                    apObject = actor.url,
                     actor = target.url
                 ),
                 published = Instant.now().toString()
             ),
             target.inbox,
-            user.id
+            actor.id
         )
 
         jobQueueParentService.scheduleTypeSafe(deliverUndoJob, deliverUndoJobParam)
     }
 
-    override suspend fun sendUndoBlock(user: User, target: User) {
+    override suspend fun sendUndoBlock(actor: Actor, target: Actor) {
         val deliverUndoJobParam = DeliverUndoJobParam(
             Undo(
-                actor = user.url,
-                id = "${applicationConfig.url}/undo/block/${user.id}/${target.url}",
+                actor = actor.url,
+                id = "${applicationConfig.url}/undo/block/${actor.id}/${target.url}",
                 apObject = Block(
-                    apObject = user.url,
+                    apObject = actor.url,
                     actor = target.url,
-                    id = "${applicationConfig.url}/block/${user.id}/${target.id}"
+                    id = "${applicationConfig.url}/block/${actor.id}/${target.id}"
                 ),
                 published = Instant.now().toString()
             ),
             target.inbox,
-            user.id
+            actor.id
         )
 
         jobQueueParentService.scheduleTypeSafe(deliverUndoJob, deliverUndoJobParam)
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/undo/APUndoProcessor.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/undo/APUndoProcessor.kt
index f476ce36..888c31f7 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/undo/APUndoProcessor.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/activity/undo/APUndoProcessor.kt
@@ -10,7 +10,7 @@ import dev.usbharu.hideout.activitypub.service.common.ActivityPubProcessContext
 import dev.usbharu.hideout.activitypub.service.common.ActivityType
 import dev.usbharu.hideout.activitypub.service.objects.user.APUserService
 import dev.usbharu.hideout.application.external.Transaction
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.service.relationship.RelationshipService
 import org.springframework.stereotype.Service
 
@@ -18,7 +18,7 @@ import org.springframework.stereotype.Service
 class APUndoProcessor(
     transaction: Transaction,
     private val apUserService: APUserService,
-    private val userQueryService: UserQueryService,
+    private val actorQueryService: ActorQueryService,
     private val relationshipService: RelationshipService
 ) :
     AbstractActivityPubProcessor<Undo>(transaction) {
@@ -35,8 +35,8 @@ class APUndoProcessor(
                 val follow = undo.apObject as Follow
 
                 apUserService.fetchPerson(undo.actor, follow.apObject)
-                val follower = userQueryService.findByUrl(undo.actor)
-                val target = userQueryService.findByUrl(follow.apObject)
+                val follower = actorQueryService.findByUrl(undo.actor)
+                val target = actorQueryService.findByUrl(follow.apObject)
 
                 relationshipService.unfollow(follower.id, target.id)
                 return
@@ -46,7 +46,7 @@ class APUndoProcessor(
                 val block = undo.apObject as Block
 
                 val blocker = apUserService.fetchPersonWithEntity(undo.actor, block.apObject).second
-                val target = userQueryService.findByUrl(block.apObject)
+                val target = actorQueryService.findByUrl(block.apObject)
 
                 relationshipService.unblock(blocker.id, target.id)
                 return
@@ -65,7 +65,7 @@ class APUndoProcessor(
                 }
 
                 val accepter = apUserService.fetchPersonWithEntity(undo.actor, acceptObject).second
-                val target = userQueryService.findByUrl(acceptObject)
+                val target = actorQueryService.findByUrl(acceptObject)
 
                 relationshipService.rejectFollowRequest(accepter.id, target.id)
             }
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/common/APRequestService.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/common/APRequestService.kt
index da3954f7..cbc478be 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/common/APRequestService.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/common/APRequestService.kt
@@ -1,25 +1,25 @@
 package dev.usbharu.hideout.activitypub.service.common
 
 import dev.usbharu.hideout.activitypub.domain.model.objects.Object
-import dev.usbharu.hideout.core.domain.model.user.User
+import dev.usbharu.hideout.core.domain.model.actor.Actor
 
 interface APRequestService {
-    suspend fun <R : Object> apGet(url: String, signer: User? = null, responseClass: Class<R>): R
+    suspend fun <R : Object> apGet(url: String, signer: Actor? = null, responseClass: Class<R>): R
     suspend fun <T : Object, R : Object> apPost(
         url: String,
         body: T? = null,
-        signer: User? = null,
+        signer: Actor? = null,
         responseClass: Class<R>
     ): R
 
-    suspend fun <T : Object> apPost(url: String, body: T? = null, signer: User? = null): String
+    suspend fun <T : Object> apPost(url: String, body: T? = null, signer: Actor? = null): String
 }
 
-suspend inline fun <reified R : Object> APRequestService.apGet(url: String, signer: User? = null): R =
+suspend inline fun <reified R : Object> APRequestService.apGet(url: String, signer: Actor? = null): R =
     apGet(url, signer, R::class.java)
 
 suspend inline fun <T : Object, reified R : Object> APRequestService.apPost(
     url: String,
     body: T? = null,
-    signer: User? = null
+    signer: Actor? = null
 ): R = apPost(url, body, signer, R::class.java)
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/common/APRequestServiceImpl.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/common/APRequestServiceImpl.kt
index 9721cf38..81bc968e 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/common/APRequestServiceImpl.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/common/APRequestServiceImpl.kt
@@ -2,7 +2,7 @@ package dev.usbharu.hideout.activitypub.service.common
 
 import com.fasterxml.jackson.databind.ObjectMapper
 import dev.usbharu.hideout.activitypub.domain.model.objects.Object
-import dev.usbharu.hideout.core.domain.model.user.User
+import dev.usbharu.hideout.core.domain.model.actor.Actor
 import dev.usbharu.hideout.util.Base64Util
 import dev.usbharu.hideout.util.HttpUtil.Activity
 import dev.usbharu.hideout.util.RsaUtil
@@ -33,7 +33,7 @@ class APRequestServiceImpl(
     @Qualifier("http") private val dateTimeFormatter: DateTimeFormatter,
 ) : APRequestService {
 
-    override suspend fun <R : Object> apGet(url: String, signer: User?, responseClass: Class<R>): R {
+    override suspend fun <R : Object> apGet(url: String, signer: Actor?, responseClass: Class<R>): R {
         logger.debug("START ActivityPub Request GET url: {}, signer: {}", url, signer?.url)
         val date = dateTimeFormatter.format(ZonedDateTime.now(ZoneId.of("GMT")))
         val u = URL(url)
@@ -57,7 +57,7 @@ class APRequestServiceImpl(
     private suspend fun apGetSign(
         date: String,
         u: URL,
-        signer: User,
+        signer: Actor,
         url: String
     ): HttpResponse {
         val headers = headers {
@@ -100,14 +100,14 @@ class APRequestServiceImpl(
     override suspend fun <T : Object, R : Object> apPost(
         url: String,
         body: T?,
-        signer: User?,
+        signer: Actor?,
         responseClass: Class<R>
     ): R {
         val bodyAsText = apPost(url, body, signer)
         return objectMapper.readValue(bodyAsText, responseClass)
     }
 
-    override suspend fun <T : Object> apPost(url: String, body: T?, signer: User?): String {
+    override suspend fun <T : Object> apPost(url: String, body: T?, signer: Actor?): String {
         logger.debug("START ActivityPub Request POST url: {}, signer: {}", url, signer?.url)
         val requestBody = addContextIfNotNull(body)
 
@@ -166,7 +166,7 @@ class APRequestServiceImpl(
         date: String,
         u: URL,
         digest: String,
-        signer: User,
+        signer: Actor,
         requestBody: String?
     ): HttpResponse {
         val headers = headers {
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/common/APResourceResolveService.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/common/APResourceResolveService.kt
index 203d3159..70eaf063 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/common/APResourceResolveService.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/common/APResourceResolveService.kt
@@ -1,14 +1,14 @@
 package dev.usbharu.hideout.activitypub.service.common
 
 import dev.usbharu.hideout.activitypub.domain.model.objects.Object
-import dev.usbharu.hideout.core.domain.model.user.User
+import dev.usbharu.hideout.core.domain.model.actor.Actor
 
 interface APResourceResolveService {
-    suspend fun <T : Object> resolve(url: String, clazz: Class<T>, singer: User?): T
+    suspend fun <T : Object> resolve(url: String, clazz: Class<T>, singer: Actor?): T
     suspend fun <T : Object> resolve(url: String, clazz: Class<T>, singerId: Long?): T
 }
 
-suspend inline fun <reified T : Object> APResourceResolveService.resolve(url: String, singer: User?): T =
+suspend inline fun <reified T : Object> APResourceResolveService.resolve(url: String, singer: Actor?): T =
     resolve(url, T::class.java, singer)
 
 suspend inline fun <reified T : Object> APResourceResolveService.resolve(url: String, singerId: Long?): T =
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/common/APResourceResolveServiceImpl.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/common/APResourceResolveServiceImpl.kt
index 85099d84..ad24ec57 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/common/APResourceResolveServiceImpl.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/common/APResourceResolveServiceImpl.kt
@@ -1,8 +1,8 @@
 package dev.usbharu.hideout.activitypub.service.common
 
 import dev.usbharu.hideout.activitypub.domain.model.objects.Object
-import dev.usbharu.hideout.core.domain.model.user.User
-import dev.usbharu.hideout.core.domain.model.user.UserRepository
+import dev.usbharu.hideout.core.domain.model.actor.Actor
+import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
 import dev.usbharu.hideout.core.service.resource.CacheManager
 import dev.usbharu.hideout.core.service.resource.ResolveResponse
 import org.springframework.stereotype.Service
@@ -11,7 +11,7 @@ import java.io.InputStream
 @Service
 class APResourceResolveServiceImpl(
     private val apRequestService: APRequestService,
-    private val userRepository: UserRepository,
+    private val actorRepository: ActorRepository,
     private val cacheManager: CacheManager
 ) :
     APResourceResolveService {
@@ -19,19 +19,19 @@ class APResourceResolveServiceImpl(
     override suspend fun <T : Object> resolve(url: String, clazz: Class<T>, singerId: Long?): T =
         internalResolve(url, singerId, clazz)
 
-    override suspend fun <T : Object> resolve(url: String, clazz: Class<T>, singer: User?): T =
+    override suspend fun <T : Object> resolve(url: String, clazz: Class<T>, singer: Actor?): T =
         internalResolve(url, singer, clazz)
 
     private suspend fun <T : Object> internalResolve(url: String, singerId: Long?, clazz: Class<T>): T {
         val key = genCacheKey(url, singerId)
 
         cacheManager.putCache(key) {
-            runResolve(url, singerId?.let { userRepository.findById(it) }, clazz)
+            runResolve(url, singerId?.let { actorRepository.findById(it) }, clazz)
         }
         return (cacheManager.getOrWait(key) as APResolveResponse<T>).objects
     }
 
-    private suspend fun <T : Object> internalResolve(url: String, singer: User?, clazz: Class<T>): T {
+    private suspend fun <T : Object> internalResolve(url: String, singer: Actor?, clazz: Class<T>): T {
         val key = genCacheKey(url, singer?.id)
         cacheManager.putCache(key) {
             runResolve(url, singer, clazz)
@@ -39,7 +39,7 @@ class APResourceResolveServiceImpl(
         return (cacheManager.getOrWait(key) as APResolveResponse<T>).objects
     }
 
-    private suspend fun <T : Object> runResolve(url: String, singer: User?, clazz: Class<T>): ResolveResponse =
+    private suspend fun <T : Object> runResolve(url: String, singer: Actor?, clazz: Class<T>): ResolveResponse =
         APResolveResponse(apRequestService.apGet(url, singer, clazz))
 
     private fun genCacheKey(url: String, singerId: Long?): String {
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/inbox/InboxJobProcessor.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/inbox/InboxJobProcessor.kt
index ec25c727..bfaf72f1 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/inbox/InboxJobProcessor.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/inbox/InboxJobProcessor.kt
@@ -10,7 +10,7 @@ import dev.usbharu.hideout.application.external.Transaction
 import dev.usbharu.hideout.core.domain.exception.FailedToGetResourcesException
 import dev.usbharu.hideout.core.external.job.InboxJob
 import dev.usbharu.hideout.core.external.job.InboxJobParam
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.service.job.JobProcessor
 import dev.usbharu.hideout.util.RsaUtil
 import dev.usbharu.httpsignature.common.HttpHeaders
@@ -29,7 +29,7 @@ class InboxJobProcessor(
     private val objectMapper: ObjectMapper,
     private val signatureHeaderParser: SignatureHeaderParser,
     private val signatureVerifier: HttpSignatureVerifier,
-    private val userQueryService: UserQueryService,
+    private val actorQueryService: ActorQueryService,
     private val apUserService: APUserService,
     private val transaction: Transaction
 ) : JobProcessor<InboxJobParam, InboxJob> {
@@ -50,7 +50,7 @@ class InboxJobProcessor(
 
         val user = transaction.transaction {
             try {
-                userQueryService.findByKeyId(signature.keyId)
+                actorQueryService.findByKeyId(signature.keyId)
             } catch (_: FailedToGetResourcesException) {
                 apUserService.fetchPersonWithEntity(signature.keyId).second
             }
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/objects/note/APNoteService.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/objects/note/APNoteService.kt
index 0e5b6e14..32a542d4 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/objects/note/APNoteService.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/objects/note/APNoteService.kt
@@ -140,7 +140,7 @@ class APNoteServiceImpl(
         postService.createRemote(
             postBuilder.of(
                 id = postRepository.generateId(),
-                userId = person.second.id,
+                actorId = person.second.id,
                 text = note.content,
                 createdAt = Instant.parse(note.published).toEpochMilli(),
                 visibility = visibility,
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/objects/note/ApNoteJobProcessor.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/objects/note/ApNoteJobProcessor.kt
index 181f869a..a9dbab74 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/objects/note/ApNoteJobProcessor.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/objects/note/ApNoteJobProcessor.kt
@@ -7,7 +7,7 @@ import dev.usbharu.hideout.activitypub.service.common.APRequestService
 import dev.usbharu.hideout.application.external.Transaction
 import dev.usbharu.hideout.core.external.job.DeliverPostJob
 import dev.usbharu.hideout.core.external.job.DeliverPostJobParam
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.service.job.JobProcessor
 import org.slf4j.LoggerFactory
 import org.springframework.stereotype.Service
@@ -16,13 +16,13 @@ import org.springframework.stereotype.Service
 class ApNoteJobProcessor(
     private val transaction: Transaction,
     private val objectMapper: ObjectMapper,
-    private val userQueryService: UserQueryService,
+    private val actorQueryService: ActorQueryService,
     private val apRequestService: APRequestService
 ) : JobProcessor<DeliverPostJobParam, DeliverPostJob> {
     override suspend fun process(param: DeliverPostJobParam) {
         val create = objectMapper.readValue<Create>(param.create)
         transaction.transaction {
-            val signer = userQueryService.findByUrl(param.actor)
+            val signer = actorQueryService.findByUrl(param.actor)
 
             logger.debug("CreateNoteJob: actor: {} create: {} inbox: {}", param.actor, create, param.inbox)
 
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/objects/note/NoteApApiServiceImpl.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/objects/note/NoteApApiServiceImpl.kt
index 079cc073..4420ceb0 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/objects/note/NoteApApiServiceImpl.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/objects/note/NoteApApiServiceImpl.kt
@@ -44,7 +44,7 @@ class NoteApApiServiceImpl(
             return null
         }
 
-        if (followerQueryService.alreadyFollow(findById.second.userId, userId)) {
+        if (followerQueryService.alreadyFollow(findById.second.actorId, userId)) {
             return findById.first
         }
         return null
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/objects/user/APUserService.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/objects/user/APUserService.kt
index a7efb238..1729c361 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/objects/user/APUserService.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/objects/user/APUserService.kt
@@ -9,8 +9,8 @@ import dev.usbharu.hideout.activitypub.service.common.resolve
 import dev.usbharu.hideout.application.config.ApplicationConfig
 import dev.usbharu.hideout.application.external.Transaction
 import dev.usbharu.hideout.core.domain.exception.FailedToGetResourcesException
-import dev.usbharu.hideout.core.domain.model.user.User
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.domain.model.actor.Actor
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.service.user.RemoteUserCreateDto
 import dev.usbharu.hideout.core.service.user.UserService
 import org.springframework.stereotype.Service
@@ -28,13 +28,13 @@ interface APUserService {
      */
     suspend fun fetchPerson(url: String, targetActor: String? = null): Person
 
-    suspend fun fetchPersonWithEntity(url: String, targetActor: String? = null): Pair<Person, User>
+    suspend fun fetchPersonWithEntity(url: String, targetActor: String? = null): Pair<Person, Actor>
 }
 
 @Service
 class APUserServiceImpl(
     private val userService: UserService,
-    private val userQueryService: UserQueryService,
+    private val actorQueryService: ActorQueryService,
     private val transaction: Transaction,
     private val applicationConfig: ApplicationConfig,
     private val apResourceResolveService: APResourceResolveService
@@ -43,7 +43,7 @@ class APUserServiceImpl(
 
     override suspend fun getPersonByName(name: String): Person {
         val userEntity = transaction.transaction {
-            userQueryService.findByNameAndDomain(name, applicationConfig.url.host)
+            actorQueryService.findByNameAndDomain(name, applicationConfig.url.host)
         }
         // TODO: JOINで書き直し
         val userUrl = "${applicationConfig.url}/users/$name"
@@ -76,9 +76,9 @@ class APUserServiceImpl(
         fetchPersonWithEntity(url, targetActor).first
 
     @Transactional
-    override suspend fun fetchPersonWithEntity(url: String, targetActor: String?): Pair<Person, User> {
+    override suspend fun fetchPersonWithEntity(url: String, targetActor: String?): Pair<Person, Actor> {
         return try {
-            val userEntity = userQueryService.findByUrl(url)
+            val userEntity = actorQueryService.findByUrl(url)
             val id = userEntity.url
             return entityToPerson(userEntity, id) to userEntity
         } catch (ignore: FailedToGetResourcesException) {
@@ -86,7 +86,7 @@ class APUserServiceImpl(
 
             val id = person.id
             try {
-                val userEntity = userQueryService.findByUrl(id)
+                val userEntity = actorQueryService.findByUrl(id)
                 return entityToPerson(userEntity, id) to userEntity
             } catch (_: FailedToGetResourcesException) {
             }
@@ -111,14 +111,14 @@ class APUserServiceImpl(
     }
 
     private fun entityToPerson(
-        userEntity: User,
+        actorEntity: Actor,
         id: String
     ) = Person(
         type = emptyList(),
-        name = userEntity.name,
+        name = actorEntity.name,
         id = id,
-        preferredUsername = userEntity.name,
-        summary = userEntity.description,
+        preferredUsername = actorEntity.name,
+        summary = actorEntity.description,
         inbox = "$id/inbox",
         outbox = "$id/outbox",
         url = id,
@@ -128,12 +128,12 @@ class APUserServiceImpl(
             url = "$id/icon.jpg"
         ),
         publicKey = Key(
-            id = userEntity.keyId,
+            id = actorEntity.keyId,
             owner = id,
-            publicKeyPem = userEntity.publicKey
+            publicKeyPem = actorEntity.publicKey
         ),
         endpoints = mapOf("sharedInbox" to "${applicationConfig.url}/inbox"),
-        followers = userEntity.followers,
-        following = userEntity.following
+        followers = actorEntity.followers,
+        following = actorEntity.following
     )
 }
diff --git a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/webfinger/WebFingerApiService.kt b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/webfinger/WebFingerApiService.kt
index d4af15fa..1cdd8230 100644
--- a/src/main/kotlin/dev/usbharu/hideout/activitypub/service/webfinger/WebFingerApiService.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/activitypub/service/webfinger/WebFingerApiService.kt
@@ -1,21 +1,21 @@
 package dev.usbharu.hideout.activitypub.service.webfinger
 
 import dev.usbharu.hideout.application.external.Transaction
-import dev.usbharu.hideout.core.domain.model.user.User
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.domain.model.actor.Actor
+import dev.usbharu.hideout.core.query.ActorQueryService
 import org.springframework.stereotype.Service
 
 @Service
 interface WebFingerApiService {
-    suspend fun findByNameAndDomain(name: String, domain: String): User
+    suspend fun findByNameAndDomain(name: String, domain: String): Actor
 }
 
 @Service
-class WebFingerApiServiceImpl(private val transaction: Transaction, private val userQueryService: UserQueryService) :
+class WebFingerApiServiceImpl(private val transaction: Transaction, private val actorQueryService: ActorQueryService) :
     WebFingerApiService {
-    override suspend fun findByNameAndDomain(name: String, domain: String): User {
+    override suspend fun findByNameAndDomain(name: String, domain: String): Actor {
         return transaction.transaction {
-            userQueryService.findByNameAndDomain(name, domain)
+            actorQueryService.findByNameAndDomain(name, domain)
         }
     }
 }
diff --git a/src/main/kotlin/dev/usbharu/hideout/application/config/SecurityConfig.kt b/src/main/kotlin/dev/usbharu/hideout/application/config/SecurityConfig.kt
index 08059d2d..144379c9 100644
--- a/src/main/kotlin/dev/usbharu/hideout/application/config/SecurityConfig.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/application/config/SecurityConfig.kt
@@ -12,7 +12,7 @@ import dev.usbharu.hideout.core.infrastructure.springframework.httpsignature.Htt
 import dev.usbharu.hideout.core.infrastructure.springframework.httpsignature.HttpSignatureVerifierComposite
 import dev.usbharu.hideout.core.infrastructure.springframework.oauth2.UserDetailsImpl
 import dev.usbharu.hideout.core.infrastructure.springframework.oauth2.UserDetailsServiceImpl
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.util.RsaUtil
 import dev.usbharu.hideout.util.hasAnyScope
 import dev.usbharu.httpsignature.sign.RsaSha256HttpSignatureSigner
@@ -69,7 +69,7 @@ import java.util.*
 class SecurityConfig {
 
     @Autowired
-    private lateinit var userQueryService: UserQueryService
+    private lateinit var actorQueryService: ActorQueryService
 
     @Bean
     fun authenticationManager(authenticationConfiguration: AuthenticationConfiguration): AuthenticationManager? =
@@ -135,7 +135,7 @@ class SecurityConfig {
         val signatureHeaderParser = DefaultSignatureHeaderParser()
         provider.setPreAuthenticatedUserDetailsService(
             HttpSignatureUserDetailsService(
-                userQueryService,
+                actorQueryService,
                 HttpSignatureVerifierComposite(
                     mapOf(
                         "rsa-sha256" to RsaSha256HttpSignatureVerifier(
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/domain/model/user/Acct.kt b/src/main/kotlin/dev/usbharu/hideout/core/domain/model/actor/Acct.kt
similarity index 67%
rename from src/main/kotlin/dev/usbharu/hideout/core/domain/model/user/Acct.kt
rename to src/main/kotlin/dev/usbharu/hideout/core/domain/model/actor/Acct.kt
index f4ea0cdc..d3777741 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/domain/model/user/Acct.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/domain/model/actor/Acct.kt
@@ -1,3 +1,3 @@
-package dev.usbharu.hideout.core.domain.model.user
+package dev.usbharu.hideout.core.domain.model.actor
 
 data class Acct(val username: String, val domain: String? = null, val isRemote: Boolean = domain == null)
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/domain/model/user/User.kt b/src/main/kotlin/dev/usbharu/hideout/core/domain/model/actor/Actor.kt
similarity index 97%
rename from src/main/kotlin/dev/usbharu/hideout/core/domain/model/user/User.kt
rename to src/main/kotlin/dev/usbharu/hideout/core/domain/model/actor/Actor.kt
index 4c2ded1c..b46c377d 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/domain/model/user/User.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/domain/model/actor/Actor.kt
@@ -1,4 +1,4 @@
-package dev.usbharu.hideout.core.domain.model.user
+package dev.usbharu.hideout.core.domain.model.actor
 
 import dev.usbharu.hideout.application.config.ApplicationConfig
 import dev.usbharu.hideout.application.config.CharacterLimit
@@ -6,7 +6,7 @@ import org.slf4j.LoggerFactory
 import org.springframework.stereotype.Component
 import java.time.Instant
 
-data class User private constructor(
+data class Actor private constructor(
     val id: Long,
     val name: String,
     val domain: String,
@@ -53,7 +53,7 @@ data class User private constructor(
             following: String? = null,
             followers: String? = null,
             instance: Long? = null
-        ): User {
+        ): Actor {
             // idは0未満ではいけない
             require(id >= 0) { "id must be greater than or equal to 0." }
 
@@ -129,7 +129,7 @@ data class User private constructor(
                 "keyId must contain non-blank characters."
             }
 
-            return User(
+            return Actor(
                 id = id,
                 name = limitedName,
                 domain = domain,
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/domain/model/actor/ActorRepository.kt b/src/main/kotlin/dev/usbharu/hideout/core/domain/model/actor/ActorRepository.kt
new file mode 100644
index 00000000..39887a5e
--- /dev/null
+++ b/src/main/kotlin/dev/usbharu/hideout/core/domain/model/actor/ActorRepository.kt
@@ -0,0 +1,14 @@
+package dev.usbharu.hideout.core.domain.model.actor
+
+import org.springframework.stereotype.Repository
+
+@Repository
+interface ActorRepository {
+    suspend fun save(actor: Actor): Actor
+
+    suspend fun findById(id: Long): Actor?
+
+    suspend fun delete(id: Long)
+
+    suspend fun nextId(): Long
+}
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/domain/model/post/Post.kt b/src/main/kotlin/dev/usbharu/hideout/core/domain/model/post/Post.kt
index e9e2f043..3a5989ab 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/domain/model/post/Post.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/domain/model/post/Post.kt
@@ -5,7 +5,7 @@ import org.springframework.stereotype.Component
 
 data class Post private constructor(
     val id: Long,
-    val userId: Long,
+    val actorId: Long,
     val overview: String? = null,
     val text: String,
     val createdAt: Long,
@@ -23,7 +23,7 @@ data class Post private constructor(
         @Suppress("FunctionMinLength", "LongParameterList")
         fun of(
             id: Long,
-            userId: Long,
+            actorId: Long,
             overview: String? = null,
             text: String,
             createdAt: Long,
@@ -37,7 +37,7 @@ data class Post private constructor(
         ): Post {
             require(id >= 0) { "id must be greater than or equal to 0." }
 
-            require(userId >= 0) { "userId must be greater than or equal to 0." }
+            require(actorId >= 0) { "actorId must be greater than or equal to 0." }
 
             val limitedOverview = if ((overview?.length ?: 0) >= characterLimit.post.overview) {
                 overview?.substring(0, characterLimit.post.overview)
@@ -61,7 +61,7 @@ data class Post private constructor(
 
             return Post(
                 id = id,
-                userId = userId,
+                actorId = actorId,
                 overview = limitedOverview,
                 text = limitedText,
                 createdAt = createdAt,
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/domain/model/reaction/Reaction.kt b/src/main/kotlin/dev/usbharu/hideout/core/domain/model/reaction/Reaction.kt
index b84c1a2e..02997373 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/domain/model/reaction/Reaction.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/domain/model/reaction/Reaction.kt
@@ -1,3 +1,3 @@
 package dev.usbharu.hideout.core.domain.model.reaction
 
-data class Reaction(val id: Long, val emojiId: Long, val postId: Long, val userId: Long)
+data class Reaction(val id: Long, val emojiId: Long, val postId: Long, val actorId: Long)
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/domain/model/relationship/Relationship.kt b/src/main/kotlin/dev/usbharu/hideout/core/domain/model/relationship/Relationship.kt
index 51a3da60..0090a43a 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/domain/model/relationship/Relationship.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/domain/model/relationship/Relationship.kt
@@ -3,8 +3,8 @@ package dev.usbharu.hideout.core.domain.model.relationship
 /**
  * ユーザーとの関係を表します
  *
- * @property userId ユーザー
- * @property targetUserId 相手ユーザー
+ * @property actorId ユーザー
+ * @property targetActorId 相手ユーザー
  * @property following フォローしているか
  * @property blocking ブロックしているか
  * @property muting ミュートしているか
@@ -12,8 +12,8 @@ package dev.usbharu.hideout.core.domain.model.relationship
  * @property ignoreFollowRequestFromTarget フォローリクエストを無視しているか
  */
 data class Relationship(
-    val userId: Long,
-    val targetUserId: Long,
+    val actorId: Long,
+    val targetActorId: Long,
     val following: Boolean,
     val blocking: Boolean,
     val muting: Boolean,
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/domain/model/relationship/RelationshipRepository.kt b/src/main/kotlin/dev/usbharu/hideout/core/domain/model/relationship/RelationshipRepository.kt
index 4b3fc6bc..75da4e35 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/domain/model/relationship/RelationshipRepository.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/domain/model/relationship/RelationshipRepository.kt
@@ -23,9 +23,9 @@ interface RelationshipRepository {
     /**
      * userIdとtargetUserIdで[Relationship]を取得します
      *
-     * @param userId 取得するユーザーID
-     * @param targetUserId 対象ユーザーID
+     * @param actorId 取得するユーザーID
+     * @param targetActorId 対象ユーザーID
      * @return 取得された[Relationship] 存在しない場合nullが返ります
      */
-    suspend fun findByUserIdAndTargetUserId(userId: Long, targetUserId: Long): Relationship?
+    suspend fun findByUserIdAndTargetUserId(actorId: Long, targetActorId: Long): Relationship?
 }
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/domain/model/relationship/RelationshipRepositoryImpl.kt b/src/main/kotlin/dev/usbharu/hideout/core/domain/model/relationship/RelationshipRepositoryImpl.kt
index c7e6986d..6deef1bf 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/domain/model/relationship/RelationshipRepositoryImpl.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/domain/model/relationship/RelationshipRepositoryImpl.kt
@@ -1,6 +1,6 @@
 package dev.usbharu.hideout.core.domain.model.relationship
 
-import dev.usbharu.hideout.core.infrastructure.exposedrepository.Users
+import dev.usbharu.hideout.core.infrastructure.exposedrepository.Actors
 import org.jetbrains.exposed.dao.id.LongIdTable
 import org.jetbrains.exposed.sql.*
 import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq
@@ -12,15 +12,15 @@ class RelationshipRepositoryImpl : RelationshipRepository {
         val singleOrNull =
             Relationships
                 .select {
-                    (Relationships.userId eq relationship.userId)
-                        .and(Relationships.targetUserId eq relationship.targetUserId)
+                    (Relationships.actorId eq relationship.actorId)
+                        .and(Relationships.targetActorId eq relationship.targetActorId)
                 }
                 .singleOrNull()
 
         if (singleOrNull == null) {
             Relationships.insert {
-                it[userId] = relationship.userId
-                it[targetUserId] = relationship.targetUserId
+                it[actorId] = relationship.actorId
+                it[targetActorId] = relationship.targetActorId
                 it[following] = relationship.following
                 it[blocking] = relationship.blocking
                 it[muting] = relationship.muting
@@ -30,8 +30,8 @@ class RelationshipRepositoryImpl : RelationshipRepository {
         } else {
             Relationships
                 .update({
-                    (Relationships.userId eq relationship.userId)
-                        .and(Relationships.targetUserId eq relationship.targetUserId)
+                    (Relationships.actorId eq relationship.actorId)
+                        .and(Relationships.targetActorId eq relationship.targetActorId)
                 }) {
                     it[following] = relationship.following
                     it[blocking] = relationship.blocking
@@ -45,23 +45,23 @@ class RelationshipRepositoryImpl : RelationshipRepository {
 
     override suspend fun delete(relationship: Relationship) {
         Relationships.deleteWhere {
-            (Relationships.userId eq relationship.userId)
-                .and(Relationships.targetUserId eq relationship.targetUserId)
+            (Relationships.actorId eq relationship.actorId)
+                .and(Relationships.targetActorId eq relationship.targetActorId)
         }
     }
 
-    override suspend fun findByUserIdAndTargetUserId(userId: Long, targetUserId: Long): Relationship? {
+    override suspend fun findByUserIdAndTargetUserId(actorId: Long, targetActorId: Long): Relationship? {
         return Relationships.select {
-            (Relationships.userId eq userId)
-                .and(Relationships.targetUserId eq targetUserId)
+            (Relationships.actorId eq actorId)
+                .and(Relationships.targetActorId eq targetActorId)
         }.singleOrNull()
             ?.toRelationships()
     }
 }
 
 fun ResultRow.toRelationships(): Relationship = Relationship(
-    userId = this[Relationships.userId],
-    targetUserId = this[Relationships.targetUserId],
+    actorId = this[Relationships.actorId],
+    targetActorId = this[Relationships.targetActorId],
     following = this[Relationships.following],
     blocking = this[Relationships.blocking],
     muting = this[Relationships.muting],
@@ -70,8 +70,8 @@ fun ResultRow.toRelationships(): Relationship = Relationship(
 )
 
 object Relationships : LongIdTable("relationships") {
-    val userId = long("user_id").references(Users.id)
-    val targetUserId = long("target_user_id").references(Users.id)
+    val actorId = long("actor_id").references(Actors.id)
+    val targetActorId = long("target_actor_id").references(Actors.id)
     val following = bool("following")
     val blocking = bool("blocking")
     val muting = bool("muting")
@@ -79,6 +79,6 @@ object Relationships : LongIdTable("relationships") {
     val ignoreFollowRequestFromTarget = bool("ignore_follow_request")
 
     init {
-        uniqueIndex(userId, targetUserId)
+        uniqueIndex(actorId, targetActorId)
     }
 }
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/domain/model/timeline/Timeline.kt b/src/main/kotlin/dev/usbharu/hideout/core/domain/model/timeline/Timeline.kt
index 5a08816e..cc9b181e 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/domain/model/timeline/Timeline.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/domain/model/timeline/Timeline.kt
@@ -13,7 +13,7 @@ data class Timeline(
     val userId: Long,
     val timelineId: Long,
     val postId: Long,
-    val postUserId: Long,
+    val postActorId: Long,
     val createdAt: Long,
     val replyId: Long?,
     val repostId: Long?,
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/domain/model/user/UserRepository.kt b/src/main/kotlin/dev/usbharu/hideout/core/domain/model/user/UserRepository.kt
deleted file mode 100644
index f37d45fe..00000000
--- a/src/main/kotlin/dev/usbharu/hideout/core/domain/model/user/UserRepository.kt
+++ /dev/null
@@ -1,14 +0,0 @@
-package dev.usbharu.hideout.core.domain.model.user
-
-import org.springframework.stereotype.Repository
-
-@Repository
-interface UserRepository {
-    suspend fun save(user: User): User
-
-    suspend fun findById(id: Long): User?
-
-    suspend fun delete(id: Long)
-
-    suspend fun nextId(): Long
-}
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposed/PostResultRowMapper.kt b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposed/PostResultRowMapper.kt
index 8505a44d..88b4e50c 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposed/PostResultRowMapper.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposed/PostResultRowMapper.kt
@@ -12,7 +12,7 @@ class PostResultRowMapper(private val postBuilder: Post.PostBuilder) : ResultRow
     override fun map(resultRow: ResultRow): Post {
         return postBuilder.of(
             id = resultRow[Posts.id],
-            userId = resultRow[Posts.userId],
+            actorId = resultRow[Posts.actorId],
             overview = resultRow[Posts.overview],
             text = resultRow[Posts.text],
             createdAt = resultRow[Posts.createdAt],
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposed/UserQueryMapper.kt b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposed/UserQueryMapper.kt
index 7361815c..c63239d5 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposed/UserQueryMapper.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposed/UserQueryMapper.kt
@@ -2,11 +2,11 @@ package dev.usbharu.hideout.core.infrastructure.exposed
 
 import dev.usbharu.hideout.application.infrastructure.exposed.QueryMapper
 import dev.usbharu.hideout.application.infrastructure.exposed.ResultRowMapper
-import dev.usbharu.hideout.core.domain.model.user.User
+import dev.usbharu.hideout.core.domain.model.actor.Actor
 import org.jetbrains.exposed.sql.Query
 import org.springframework.stereotype.Component
 
 @Component
-class UserQueryMapper(private val userResultRowMapper: ResultRowMapper<User>) : QueryMapper<User> {
-    override fun map(query: Query): List<User> = query.map(userResultRowMapper::map)
+class UserQueryMapper(private val actorResultRowMapper: ResultRowMapper<Actor>) : QueryMapper<Actor> {
+    override fun map(query: Query): List<Actor> = query.map(actorResultRowMapper::map)
 }
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposed/UserResultRowMapper.kt b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposed/UserResultRowMapper.kt
index bad247f3..a6cdd816 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposed/UserResultRowMapper.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposed/UserResultRowMapper.kt
@@ -1,32 +1,32 @@
 package dev.usbharu.hideout.core.infrastructure.exposed
 
 import dev.usbharu.hideout.application.infrastructure.exposed.ResultRowMapper
-import dev.usbharu.hideout.core.domain.model.user.User
-import dev.usbharu.hideout.core.infrastructure.exposedrepository.Users
+import dev.usbharu.hideout.core.domain.model.actor.Actor
+import dev.usbharu.hideout.core.infrastructure.exposedrepository.Actors
 import org.jetbrains.exposed.sql.ResultRow
 import org.springframework.stereotype.Component
 import java.time.Instant
 
 @Component
-class UserResultRowMapper(private val userBuilder: User.UserBuilder) : ResultRowMapper<User> {
-    override fun map(resultRow: ResultRow): User {
-        return userBuilder.of(
-            id = resultRow[Users.id],
-            name = resultRow[Users.name],
-            domain = resultRow[Users.domain],
-            screenName = resultRow[Users.screenName],
-            description = resultRow[Users.description],
-            password = resultRow[Users.password],
-            inbox = resultRow[Users.inbox],
-            outbox = resultRow[Users.outbox],
-            url = resultRow[Users.url],
-            publicKey = resultRow[Users.publicKey],
-            privateKey = resultRow[Users.privateKey],
-            createdAt = Instant.ofEpochMilli((resultRow[Users.createdAt])),
-            keyId = resultRow[Users.keyId],
-            followers = resultRow[Users.followers],
-            following = resultRow[Users.following],
-            instance = resultRow[Users.instance]
+class UserResultRowMapper(private val actorBuilder: Actor.UserBuilder) : ResultRowMapper<Actor> {
+    override fun map(resultRow: ResultRow): Actor {
+        return actorBuilder.of(
+            id = resultRow[Actors.id],
+            name = resultRow[Actors.name],
+            domain = resultRow[Actors.domain],
+            screenName = resultRow[Actors.screenName],
+            description = resultRow[Actors.description],
+            password = resultRow[Actors.password],
+            inbox = resultRow[Actors.inbox],
+            outbox = resultRow[Actors.outbox],
+            url = resultRow[Actors.url],
+            publicKey = resultRow[Actors.publicKey],
+            privateKey = resultRow[Actors.privateKey],
+            createdAt = Instant.ofEpochMilli((resultRow[Actors.createdAt])),
+            keyId = resultRow[Actors.keyId],
+            followers = resultRow[Actors.followers],
+            following = resultRow[Actors.following],
+            instance = resultRow[Actors.instance]
         )
     }
 }
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedquery/ActorQueryServiceImpl.kt b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedquery/ActorQueryServiceImpl.kt
new file mode 100644
index 00000000..6dab78c2
--- /dev/null
+++ b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedquery/ActorQueryServiceImpl.kt
@@ -0,0 +1,60 @@
+package dev.usbharu.hideout.core.infrastructure.exposedquery
+
+import dev.usbharu.hideout.application.infrastructure.exposed.QueryMapper
+import dev.usbharu.hideout.application.infrastructure.exposed.ResultRowMapper
+import dev.usbharu.hideout.core.domain.exception.FailedToGetResourcesException
+import dev.usbharu.hideout.core.domain.model.actor.Actor
+import dev.usbharu.hideout.core.infrastructure.exposedrepository.Actors
+import dev.usbharu.hideout.core.query.ActorQueryService
+import dev.usbharu.hideout.util.singleOr
+import org.jetbrains.exposed.sql.and
+import org.jetbrains.exposed.sql.select
+import org.jetbrains.exposed.sql.selectAll
+import org.slf4j.LoggerFactory
+import org.springframework.stereotype.Repository
+
+@Repository
+class ActorQueryServiceImpl(
+    private val actorResultRowMapper: ResultRowMapper<Actor>,
+    private val actorQueryMapper: QueryMapper<Actor>
+) : ActorQueryService {
+
+    private val logger = LoggerFactory.getLogger(ActorQueryServiceImpl::class.java)
+
+    override suspend fun findAll(limit: Int, offset: Long): List<Actor> =
+        Actors.selectAll().limit(limit, offset).let(actorQueryMapper::map)
+
+    override suspend fun findById(id: Long): Actor = Actors.select { Actors.id eq id }
+        .singleOr { FailedToGetResourcesException("id: $id is duplicate or does not exist.", it) }
+        .let(actorResultRowMapper::map)
+
+    override suspend fun findByName(name: String): List<Actor> =
+        Actors.select { Actors.name eq name }.let(actorQueryMapper::map)
+
+    override suspend fun findByNameAndDomain(name: String, domain: String): Actor =
+        Actors
+            .select { Actors.name eq name and (Actors.domain eq domain) }
+            .singleOr {
+                FailedToGetResourcesException("name: $name,domain: $domain  is duplicate or does not exist.", it)
+            }
+            .let(actorResultRowMapper::map)
+
+    override suspend fun findByUrl(url: String): Actor {
+        logger.trace("findByUrl url: $url")
+        return Actors.select { Actors.url eq url }
+            .singleOr { FailedToGetResourcesException("url: $url  is duplicate or does not exist.", it) }
+            .let(actorResultRowMapper::map)
+    }
+
+    override suspend fun findByIds(ids: List<Long>): List<Actor> =
+        Actors.select { Actors.id inList ids }.let(actorQueryMapper::map)
+
+    override suspend fun existByNameAndDomain(name: String, domain: String): Boolean =
+        Actors.select { Actors.name eq name and (Actors.domain eq domain) }.empty().not()
+
+    override suspend fun findByKeyId(keyId: String): Actor {
+        return Actors.select { Actors.keyId eq keyId }
+            .singleOr { FailedToGetResourcesException("keyId: $keyId  is duplicate or does not exist.", it) }
+            .let(actorResultRowMapper::map)
+    }
+}
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedquery/FollowerQueryServiceImpl.kt b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedquery/FollowerQueryServiceImpl.kt
index df5acb77..f7161b2e 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedquery/FollowerQueryServiceImpl.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedquery/FollowerQueryServiceImpl.kt
@@ -1,24 +1,24 @@
 package dev.usbharu.hideout.core.infrastructure.exposedquery
 
+import dev.usbharu.hideout.core.domain.model.actor.Actor
 import dev.usbharu.hideout.core.domain.model.relationship.RelationshipRepository
-import dev.usbharu.hideout.core.domain.model.user.User
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.query.FollowerQueryService
 import dev.usbharu.hideout.core.query.RelationshipQueryService
-import dev.usbharu.hideout.core.query.UserQueryService
 import org.springframework.stereotype.Repository
 
 @Repository
 class FollowerQueryServiceImpl(
     private val relationshipQueryService: RelationshipQueryService,
-    private val userQueryService: UserQueryService,
+    private val actorQueryService: ActorQueryService,
     private val relationshipRepository: RelationshipRepository
 ) : FollowerQueryService {
-    override suspend fun findFollowersById(id: Long): List<User> {
-        return userQueryService.findByIds(
-            relationshipQueryService.findByTargetIdAndFollowing(id, true).map { it.userId }
+    override suspend fun findFollowersById(id: Long): List<Actor> {
+        return actorQueryService.findByIds(
+            relationshipQueryService.findByTargetIdAndFollowing(id, true).map { it.actorId }
         )
     }
 
-    override suspend fun alreadyFollow(userId: Long, followerId: Long): Boolean =
-        relationshipRepository.findByUserIdAndTargetUserId(followerId, userId)?.following ?: false
+    override suspend fun alreadyFollow(actorId: Long, followerId: Long): Boolean =
+        relationshipRepository.findByUserIdAndTargetUserId(followerId, actorId)?.following ?: false
 }
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedquery/ReactionQueryServiceImpl.kt b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedquery/ReactionQueryServiceImpl.kt
index 2f710361..b7bd1642 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedquery/ReactionQueryServiceImpl.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedquery/ReactionQueryServiceImpl.kt
@@ -6,44 +6,46 @@ import dev.usbharu.hideout.core.infrastructure.exposedrepository.Reactions
 import dev.usbharu.hideout.core.infrastructure.exposedrepository.toReaction
 import dev.usbharu.hideout.core.query.ReactionQueryService
 import dev.usbharu.hideout.util.singleOr
-import org.jetbrains.exposed.sql.*
 import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq
+import org.jetbrains.exposed.sql.and
+import org.jetbrains.exposed.sql.deleteWhere
+import org.jetbrains.exposed.sql.select
 import org.springframework.stereotype.Repository
 
 @Repository
 class ReactionQueryServiceImpl : ReactionQueryService {
-    override suspend fun findByPostId(postId: Long, userId: Long?): List<Reaction> {
+    override suspend fun findByPostId(postId: Long, actorId: Long?): List<Reaction> {
         return Reactions.select {
             Reactions.postId.eq(postId)
         }.map { it.toReaction() }
     }
 
     @Suppress("FunctionMaxLength")
-    override suspend fun findByPostIdAndUserIdAndEmojiId(postId: Long, userId: Long, emojiId: Long): Reaction {
+    override suspend fun findByPostIdAndActorIdAndEmojiId(postId: Long, actorId: Long, emojiId: Long): Reaction {
         return Reactions
             .select {
-                Reactions.postId.eq(postId).and(Reactions.userId.eq(userId)).and(
+                Reactions.postId.eq(postId).and(Reactions.actorId.eq(actorId)).and(
                     Reactions.emojiId.eq(emojiId)
                 )
             }
             .singleOr {
                 FailedToGetResourcesException(
-                    "postId: $postId,userId: $userId,emojiId: $emojiId is duplicate or does not exist.",
+                    "postId: $postId,userId: $actorId,emojiId: $emojiId is duplicate or does not exist.",
                     it
                 )
             }
             .toReaction()
     }
 
-    override suspend fun reactionAlreadyExist(postId: Long, userId: Long, emojiId: Long): Boolean {
+    override suspend fun reactionAlreadyExist(postId: Long, actorId: Long, emojiId: Long): Boolean {
         return Reactions.select {
-            Reactions.postId.eq(postId).and(Reactions.userId.eq(userId)).and(
+            Reactions.postId.eq(postId).and(Reactions.actorId.eq(actorId)).and(
                 Reactions.emojiId.eq(emojiId)
             )
         }.empty().not()
     }
 
-    override suspend fun deleteByPostIdAndUserId(postId: Long, userId: Long) {
-        Reactions.deleteWhere { Reactions.postId.eq(postId).and(Reactions.userId.eq(userId)) }
+    override suspend fun deleteByPostIdAndActorId(postId: Long, actorId: Long) {
+        Reactions.deleteWhere { Reactions.postId.eq(postId).and(Reactions.actorId.eq(actorId)) }
     }
 }
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedquery/RelationshipQueryServiceImpl.kt b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedquery/RelationshipQueryServiceImpl.kt
index f1a122c9..f4f31633 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedquery/RelationshipQueryServiceImpl.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedquery/RelationshipQueryServiceImpl.kt
@@ -11,6 +11,6 @@ import org.springframework.stereotype.Service
 @Service
 class RelationshipQueryServiceImpl : RelationshipQueryService {
     override suspend fun findByTargetIdAndFollowing(targetId: Long, following: Boolean): List<Relationship> =
-        Relationships.select { Relationships.targetUserId eq targetId and (Relationships.following eq following) }
+        Relationships.select { Relationships.targetActorId eq targetId and (Relationships.following eq following) }
             .map { it.toRelationships() }
 }
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedquery/UserQueryServiceImpl.kt b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedquery/UserQueryServiceImpl.kt
deleted file mode 100644
index e2a580e8..00000000
--- a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedquery/UserQueryServiceImpl.kt
+++ /dev/null
@@ -1,60 +0,0 @@
-package dev.usbharu.hideout.core.infrastructure.exposedquery
-
-import dev.usbharu.hideout.application.infrastructure.exposed.QueryMapper
-import dev.usbharu.hideout.application.infrastructure.exposed.ResultRowMapper
-import dev.usbharu.hideout.core.domain.exception.FailedToGetResourcesException
-import dev.usbharu.hideout.core.domain.model.user.User
-import dev.usbharu.hideout.core.infrastructure.exposedrepository.Users
-import dev.usbharu.hideout.core.query.UserQueryService
-import dev.usbharu.hideout.util.singleOr
-import org.jetbrains.exposed.sql.and
-import org.jetbrains.exposed.sql.select
-import org.jetbrains.exposed.sql.selectAll
-import org.slf4j.LoggerFactory
-import org.springframework.stereotype.Repository
-
-@Repository
-class UserQueryServiceImpl(
-    private val userResultRowMapper: ResultRowMapper<User>,
-    private val userQueryMapper: QueryMapper<User>
-) : UserQueryService {
-
-    private val logger = LoggerFactory.getLogger(UserQueryServiceImpl::class.java)
-
-    override suspend fun findAll(limit: Int, offset: Long): List<User> =
-        Users.selectAll().limit(limit, offset).let(userQueryMapper::map)
-
-    override suspend fun findById(id: Long): User = Users.select { Users.id eq id }
-        .singleOr { FailedToGetResourcesException("id: $id is duplicate or does not exist.", it) }
-        .let(userResultRowMapper::map)
-
-    override suspend fun findByName(name: String): List<User> =
-        Users.select { Users.name eq name }.let(userQueryMapper::map)
-
-    override suspend fun findByNameAndDomain(name: String, domain: String): User =
-        Users
-            .select { Users.name eq name and (Users.domain eq domain) }
-            .singleOr {
-                FailedToGetResourcesException("name: $name,domain: $domain  is duplicate or does not exist.", it)
-            }
-            .let(userResultRowMapper::map)
-
-    override suspend fun findByUrl(url: String): User {
-        logger.trace("findByUrl url: $url")
-        return Users.select { Users.url eq url }
-            .singleOr { FailedToGetResourcesException("url: $url  is duplicate or does not exist.", it) }
-            .let(userResultRowMapper::map)
-    }
-
-    override suspend fun findByIds(ids: List<Long>): List<User> =
-        Users.select { Users.id inList ids }.let(userQueryMapper::map)
-
-    override suspend fun existByNameAndDomain(name: String, domain: String): Boolean =
-        Users.select { Users.name eq name and (Users.domain eq domain) }.empty().not()
-
-    override suspend fun findByKeyId(keyId: String): User {
-        return Users.select { Users.keyId eq keyId }
-            .singleOr { FailedToGetResourcesException("keyId: $keyId  is duplicate or does not exist.", it) }
-            .let(userResultRowMapper::map)
-    }
-}
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/ActorRepositoryImpl.kt b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/ActorRepositoryImpl.kt
new file mode 100644
index 00000000..d5988971
--- /dev/null
+++ b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/ActorRepositoryImpl.kt
@@ -0,0 +1,100 @@
+package dev.usbharu.hideout.core.infrastructure.exposedrepository
+
+import dev.usbharu.hideout.application.infrastructure.exposed.ResultRowMapper
+import dev.usbharu.hideout.application.service.id.IdGenerateService
+import dev.usbharu.hideout.core.domain.model.actor.Actor
+import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
+import org.jetbrains.exposed.sql.*
+import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq
+import org.springframework.stereotype.Repository
+
+@Repository
+class ActorRepositoryImpl(
+    private val idGenerateService: IdGenerateService,
+    private val actorResultRowMapper: ResultRowMapper<Actor>
+) :
+    ActorRepository {
+
+    override suspend fun save(actor: Actor): Actor {
+        val singleOrNull = Actors.select { Actors.id eq actor.id }.empty()
+        if (singleOrNull) {
+            Actors.insert {
+                it[id] = actor.id
+                it[name] = actor.name
+                it[domain] = actor.domain
+                it[screenName] = actor.screenName
+                it[description] = actor.description
+                it[password] = actor.password
+                it[inbox] = actor.inbox
+                it[outbox] = actor.outbox
+                it[url] = actor.url
+                it[createdAt] = actor.createdAt.toEpochMilli()
+                it[publicKey] = actor.publicKey
+                it[privateKey] = actor.privateKey
+                it[keyId] = actor.keyId
+                it[following] = actor.following
+                it[followers] = actor.followers
+                it[instance] = actor.instance
+            }
+        } else {
+            Actors.update({ Actors.id eq actor.id }) {
+                it[name] = actor.name
+                it[domain] = actor.domain
+                it[screenName] = actor.screenName
+                it[description] = actor.description
+                it[password] = actor.password
+                it[inbox] = actor.inbox
+                it[outbox] = actor.outbox
+                it[url] = actor.url
+                it[createdAt] = actor.createdAt.toEpochMilli()
+                it[publicKey] = actor.publicKey
+                it[privateKey] = actor.privateKey
+                it[keyId] = actor.keyId
+                it[following] = actor.following
+                it[followers] = actor.followers
+                it[instance] = actor.instance
+            }
+        }
+        return actor
+    }
+
+    override suspend fun findById(id: Long): Actor? =
+        Actors.select { Actors.id eq id }.singleOrNull()?.let(actorResultRowMapper::map)
+
+    override suspend fun delete(id: Long) {
+        Actors.deleteWhere { Actors.id.eq(id) }
+    }
+
+    override suspend fun nextId(): Long = idGenerateService.generateId()
+}
+
+object Actors : Table("users") {
+    val id: Column<Long> = long("id")
+    val name: Column<String> = varchar("name", length = 300)
+    val domain: Column<String> = varchar("domain", length = 1000)
+    val screenName: Column<String> = varchar("screen_name", length = 300)
+    val description: Column<String> = varchar(
+        "description",
+        length = 10000
+    )
+    val password: Column<String?> = varchar("password", length = 255).nullable()
+    val inbox: Column<String> = varchar("inbox", length = 1000).uniqueIndex()
+    val outbox: Column<String> = varchar("outbox", length = 1000).uniqueIndex()
+    val url: Column<String> = varchar("url", length = 1000).uniqueIndex()
+    val publicKey: Column<String> = varchar("public_key", length = 10000)
+    val privateKey: Column<String?> = varchar(
+        "private_key",
+        length = 10000
+    ).nullable()
+    val createdAt: Column<Long> = long("created_at")
+    val keyId = varchar("key_id", length = 1000)
+    val following = varchar("following", length = 1000).nullable()
+    val followers = varchar("followers", length = 1000).nullable()
+    val instance = long("instance").references(Instance.id).nullable()
+
+    override val primaryKey: PrimaryKey = PrimaryKey(id)
+
+    init {
+        uniqueIndex(name, domain)
+    }
+}
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/ExposedTimelineRepository.kt b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/ExposedTimelineRepository.kt
index ee372e1c..a2b3c186 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/ExposedTimelineRepository.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/ExposedTimelineRepository.kt
@@ -22,7 +22,7 @@ class ExposedTimelineRepository(private val idGenerateService: IdGenerateService
                 it[userId] = timeline.userId
                 it[timelineId] = timeline.timelineId
                 it[postId] = timeline.postId
-                it[postUserId] = timeline.postUserId
+                it[postUserId] = timeline.postActorId
                 it[createdAt] = timeline.createdAt
                 it[replyId] = timeline.replyId
                 it[repostId] = timeline.repostId
@@ -37,7 +37,7 @@ class ExposedTimelineRepository(private val idGenerateService: IdGenerateService
                 it[userId] = timeline.userId
                 it[timelineId] = timeline.timelineId
                 it[postId] = timeline.postId
-                it[postUserId] = timeline.postUserId
+                it[postUserId] = timeline.postActorId
                 it[createdAt] = timeline.createdAt
                 it[replyId] = timeline.replyId
                 it[repostId] = timeline.repostId
@@ -57,7 +57,7 @@ class ExposedTimelineRepository(private val idGenerateService: IdGenerateService
             this[Timelines.userId] = it.userId
             this[Timelines.timelineId] = it.timelineId
             this[Timelines.postId] = it.postId
-            this[Timelines.postUserId] = it.postUserId
+            this[Timelines.postUserId] = it.postActorId
             this[Timelines.createdAt] = it.createdAt
             this[Timelines.replyId] = it.replyId
             this[Timelines.repostId] = it.repostId
@@ -84,7 +84,7 @@ fun ResultRow.toTimeline(): Timeline {
         userId = this[Timelines.userId],
         timelineId = this[Timelines.timelineId],
         postId = this[Timelines.postId],
-        postUserId = this[Timelines.postUserId],
+        postActorId = this[Timelines.postUserId],
         createdAt = this[Timelines.createdAt],
         replyId = this[Timelines.replyId],
         repostId = this[Timelines.repostId],
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/PostRepositoryImpl.kt b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/PostRepositoryImpl.kt
index 1de54ad8..d71f0cab 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/PostRepositoryImpl.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/PostRepositoryImpl.kt
@@ -23,7 +23,7 @@ class PostRepositoryImpl(
         if (singleOrNull == null) {
             Posts.insert {
                 it[id] = post.id
-                it[userId] = post.userId
+                it[actorId] = post.actorId
                 it[overview] = post.overview
                 it[text] = post.text
                 it[createdAt] = post.createdAt
@@ -47,7 +47,7 @@ class PostRepositoryImpl(
                 this[PostsMedia.mediaId] = it
             }
             Posts.update({ Posts.id eq post.id }) {
-                it[userId] = post.userId
+                it[actorId] = post.actorId
                 it[overview] = post.overview
                 it[text] = post.text
                 it[createdAt] = post.createdAt
@@ -75,7 +75,7 @@ class PostRepositoryImpl(
 
 object Posts : Table() {
     val id: Column<Long> = long("id")
-    val userId: Column<Long> = long("user_id").references(Users.id)
+    val actorId: Column<Long> = long("actor_id").references(Actors.id)
     val overview: Column<String?> = varchar("overview", 100).nullable()
     val text: Column<String> = varchar("text", 3000)
     val createdAt: Column<Long> = long("created_at")
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/ReactionRepositoryImpl.kt b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/ReactionRepositoryImpl.kt
index e6bcf355..a94abda4 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/ReactionRepositoryImpl.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/ReactionRepositoryImpl.kt
@@ -21,13 +21,13 @@ class ReactionRepositoryImpl(
                 it[id] = reaction.id
                 it[emojiId] = reaction.emojiId
                 it[postId] = reaction.postId
-                it[userId] = reaction.userId
+                it[actorId] = reaction.actorId
             }
         } else {
             Reactions.update({ Reactions.id eq reaction.id }) {
                 it[emojiId] = reaction.emojiId
                 it[postId] = reaction.postId
-                it[userId] = reaction.userId
+                it[actorId] = reaction.actorId
             }
         }
         return reaction
@@ -37,7 +37,7 @@ class ReactionRepositoryImpl(
         Reactions.deleteWhere {
             id.eq(reaction.id)
                 .and(postId.eq(reaction.postId))
-                .and(userId.eq(reaction.postId))
+                .and(actorId.eq(reaction.postId))
                 .and(emojiId.eq(reaction.emojiId))
         }
         return reaction
@@ -49,16 +49,16 @@ fun ResultRow.toReaction(): Reaction {
         this[Reactions.id].value,
         this[Reactions.emojiId],
         this[Reactions.postId],
-        this[Reactions.userId]
+        this[Reactions.actorId]
     )
 }
 
 object Reactions : LongIdTable("reactions") {
     val emojiId: Column<Long> = long("emoji_id")
     val postId: Column<Long> = long("post_id").references(Posts.id)
-    val userId: Column<Long> = long("user_id").references(Users.id)
+    val actorId: Column<Long> = long("actor_id").references(Actors.id)
 
     init {
-        uniqueIndex(emojiId, postId, userId)
+        uniqueIndex(emojiId, postId, actorId)
     }
 }
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/UserRepositoryImpl.kt b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/UserRepositoryImpl.kt
deleted file mode 100644
index b4adbaad..00000000
--- a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/UserRepositoryImpl.kt
+++ /dev/null
@@ -1,100 +0,0 @@
-package dev.usbharu.hideout.core.infrastructure.exposedrepository
-
-import dev.usbharu.hideout.application.infrastructure.exposed.ResultRowMapper
-import dev.usbharu.hideout.application.service.id.IdGenerateService
-import dev.usbharu.hideout.core.domain.model.user.User
-import dev.usbharu.hideout.core.domain.model.user.UserRepository
-import org.jetbrains.exposed.sql.*
-import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq
-import org.springframework.stereotype.Repository
-
-@Repository
-class UserRepositoryImpl(
-    private val idGenerateService: IdGenerateService,
-    private val userResultRowMapper: ResultRowMapper<User>
-) :
-    UserRepository {
-
-    override suspend fun save(user: User): User {
-        val singleOrNull = Users.select { Users.id eq user.id }.empty()
-        if (singleOrNull) {
-            Users.insert {
-                it[id] = user.id
-                it[name] = user.name
-                it[domain] = user.domain
-                it[screenName] = user.screenName
-                it[description] = user.description
-                it[password] = user.password
-                it[inbox] = user.inbox
-                it[outbox] = user.outbox
-                it[url] = user.url
-                it[createdAt] = user.createdAt.toEpochMilli()
-                it[publicKey] = user.publicKey
-                it[privateKey] = user.privateKey
-                it[keyId] = user.keyId
-                it[following] = user.following
-                it[followers] = user.followers
-                it[instance] = user.instance
-            }
-        } else {
-            Users.update({ Users.id eq user.id }) {
-                it[name] = user.name
-                it[domain] = user.domain
-                it[screenName] = user.screenName
-                it[description] = user.description
-                it[password] = user.password
-                it[inbox] = user.inbox
-                it[outbox] = user.outbox
-                it[url] = user.url
-                it[createdAt] = user.createdAt.toEpochMilli()
-                it[publicKey] = user.publicKey
-                it[privateKey] = user.privateKey
-                it[keyId] = user.keyId
-                it[following] = user.following
-                it[followers] = user.followers
-                it[instance] = user.instance
-            }
-        }
-        return user
-    }
-
-    override suspend fun findById(id: Long): User? =
-        Users.select { Users.id eq id }.singleOrNull()?.let(userResultRowMapper::map)
-
-    override suspend fun delete(id: Long) {
-        Users.deleteWhere { Users.id.eq(id) }
-    }
-
-    override suspend fun nextId(): Long = idGenerateService.generateId()
-}
-
-object Users : Table("users") {
-    val id: Column<Long> = long("id")
-    val name: Column<String> = varchar("name", length = 300)
-    val domain: Column<String> = varchar("domain", length = 1000)
-    val screenName: Column<String> = varchar("screen_name", length = 300)
-    val description: Column<String> = varchar(
-        "description",
-        length = 10000
-    )
-    val password: Column<String?> = varchar("password", length = 255).nullable()
-    val inbox: Column<String> = varchar("inbox", length = 1000).uniqueIndex()
-    val outbox: Column<String> = varchar("outbox", length = 1000).uniqueIndex()
-    val url: Column<String> = varchar("url", length = 1000).uniqueIndex()
-    val publicKey: Column<String> = varchar("public_key", length = 10000)
-    val privateKey: Column<String?> = varchar(
-        "private_key",
-        length = 10000
-    ).nullable()
-    val createdAt: Column<Long> = long("created_at")
-    val keyId = varchar("key_id", length = 1000)
-    val following = varchar("following", length = 1000).nullable()
-    val followers = varchar("followers", length = 1000).nullable()
-    val instance = long("instance").references(Instance.id).nullable()
-
-    override val primaryKey: PrimaryKey = PrimaryKey(id)
-
-    init {
-        uniqueIndex(name, domain)
-    }
-}
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/springframework/httpsignature/HttpSignatureUserDetailsService.kt b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/springframework/httpsignature/HttpSignatureUserDetailsService.kt
index a75fe934..8c891da3 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/springframework/httpsignature/HttpSignatureUserDetailsService.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/springframework/httpsignature/HttpSignatureUserDetailsService.kt
@@ -3,7 +3,7 @@ package dev.usbharu.hideout.core.infrastructure.springframework.httpsignature
 import dev.usbharu.hideout.application.external.Transaction
 import dev.usbharu.hideout.core.domain.exception.FailedToGetResourcesException
 import dev.usbharu.hideout.core.domain.exception.HttpSignatureVerifyException
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.util.RsaUtil
 import dev.usbharu.httpsignature.common.HttpMethod
 import dev.usbharu.httpsignature.common.HttpRequest
@@ -20,7 +20,7 @@ import org.springframework.security.core.userdetails.UsernameNotFoundException
 import org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken
 
 class HttpSignatureUserDetailsService(
-    private val userQueryService: UserQueryService,
+    private val actorQueryService: ActorQueryService,
     private val httpSignatureVerifier: HttpSignatureVerifier,
     private val transaction: Transaction,
     private val httpSignatureHeaderParser: SignatureHeaderParser
@@ -35,7 +35,7 @@ class HttpSignatureUserDetailsService(
         val keyId = token.principal as String
         val findByKeyId = transaction.transaction {
             try {
-                userQueryService.findByKeyId(keyId)
+                actorQueryService.findByKeyId(keyId)
             } catch (e: FailedToGetResourcesException) {
                 throw UsernameNotFoundException("User not found", e)
             }
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/springframework/oauth2/UserDetailsServiceImpl.kt b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/springframework/oauth2/UserDetailsServiceImpl.kt
index b8ac029c..7a6fa0ba 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/springframework/oauth2/UserDetailsServiceImpl.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/springframework/oauth2/UserDetailsServiceImpl.kt
@@ -2,7 +2,7 @@ package dev.usbharu.hideout.core.infrastructure.springframework.oauth2
 
 import dev.usbharu.hideout.application.config.ApplicationConfig
 import dev.usbharu.hideout.application.external.Transaction
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.query.ActorQueryService
 import kotlinx.coroutines.runBlocking
 import org.springframework.security.core.userdetails.UserDetails
 import org.springframework.security.core.userdetails.UserDetailsService
@@ -11,7 +11,7 @@ import org.springframework.stereotype.Service
 
 @Service
 class UserDetailsServiceImpl(
-    private val userQueryService: UserQueryService,
+    private val actorQueryService: ActorQueryService,
     private val applicationConfig: ApplicationConfig,
     private val transaction: Transaction
 ) :
@@ -21,7 +21,7 @@ class UserDetailsServiceImpl(
             throw UsernameNotFoundException("$username not found")
         }
         transaction.transaction {
-            val findById = userQueryService.findByNameAndDomain(username, applicationConfig.url.host)
+            val findById = actorQueryService.findByNameAndDomain(username, applicationConfig.url.host)
             UserDetailsImpl(
                 id = findById.id,
                 username = findById.name,
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/query/ActorQueryService.kt b/src/main/kotlin/dev/usbharu/hideout/core/query/ActorQueryService.kt
new file mode 100644
index 00000000..05b79e25
--- /dev/null
+++ b/src/main/kotlin/dev/usbharu/hideout/core/query/ActorQueryService.kt
@@ -0,0 +1,16 @@
+package dev.usbharu.hideout.core.query
+
+import dev.usbharu.hideout.core.domain.model.actor.Actor
+import org.springframework.stereotype.Repository
+
+@Repository
+interface ActorQueryService {
+    suspend fun findAll(limit: Int, offset: Long): List<Actor>
+    suspend fun findById(id: Long): Actor
+    suspend fun findByName(name: String): List<Actor>
+    suspend fun findByNameAndDomain(name: String, domain: String): Actor
+    suspend fun findByUrl(url: String): Actor
+    suspend fun findByIds(ids: List<Long>): List<Actor>
+    suspend fun existByNameAndDomain(name: String, domain: String): Boolean
+    suspend fun findByKeyId(keyId: String): Actor
+}
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/query/FollowerQueryService.kt b/src/main/kotlin/dev/usbharu/hideout/core/query/FollowerQueryService.kt
index 8d3d5bb4..18b98a47 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/query/FollowerQueryService.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/query/FollowerQueryService.kt
@@ -1,9 +1,9 @@
 package dev.usbharu.hideout.core.query
 
-import dev.usbharu.hideout.core.domain.model.user.User
+import dev.usbharu.hideout.core.domain.model.actor.Actor
 
 @Deprecated("Use RelationshipQueryService")
 interface FollowerQueryService {
-    suspend fun findFollowersById(id: Long): List<User>
-    suspend fun alreadyFollow(userId: Long, followerId: Long): Boolean
+    suspend fun findFollowersById(id: Long): List<Actor>
+    suspend fun alreadyFollow(actorId: Long, followerId: Long): Boolean
 }
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/query/ReactionQueryService.kt b/src/main/kotlin/dev/usbharu/hideout/core/query/ReactionQueryService.kt
index 0c378c58..602e0a76 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/query/ReactionQueryService.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/query/ReactionQueryService.kt
@@ -5,12 +5,12 @@ import org.springframework.stereotype.Repository
 
 @Repository
 interface ReactionQueryService {
-    suspend fun findByPostId(postId: Long, userId: Long? = null): List<Reaction>
+    suspend fun findByPostId(postId: Long, actorId: Long? = null): List<Reaction>
 
     @Suppress("FunctionMaxLength")
-    suspend fun findByPostIdAndUserIdAndEmojiId(postId: Long, userId: Long, emojiId: Long): Reaction
+    suspend fun findByPostIdAndActorIdAndEmojiId(postId: Long, actorId: Long, emojiId: Long): Reaction
 
-    suspend fun reactionAlreadyExist(postId: Long, userId: Long, emojiId: Long): Boolean
+    suspend fun reactionAlreadyExist(postId: Long, actorId: Long, emojiId: Long): Boolean
 
-    suspend fun deleteByPostIdAndUserId(postId: Long, userId: Long)
+    suspend fun deleteByPostIdAndActorId(postId: Long, actorId: Long)
 }
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/query/UserQueryService.kt b/src/main/kotlin/dev/usbharu/hideout/core/query/UserQueryService.kt
deleted file mode 100644
index 9b78ae4e..00000000
--- a/src/main/kotlin/dev/usbharu/hideout/core/query/UserQueryService.kt
+++ /dev/null
@@ -1,16 +0,0 @@
-package dev.usbharu.hideout.core.query
-
-import dev.usbharu.hideout.core.domain.model.user.User
-import org.springframework.stereotype.Repository
-
-@Repository
-interface UserQueryService {
-    suspend fun findAll(limit: Int, offset: Long): List<User>
-    suspend fun findById(id: Long): User
-    suspend fun findByName(name: String): List<User>
-    suspend fun findByNameAndDomain(name: String, domain: String): User
-    suspend fun findByUrl(url: String): User
-    suspend fun findByIds(ids: List<Long>): List<User>
-    suspend fun existByNameAndDomain(name: String, domain: String): Boolean
-    suspend fun findByKeyId(keyId: String): User
-}
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/service/follow/SendFollowDto.kt b/src/main/kotlin/dev/usbharu/hideout/core/service/follow/SendFollowDto.kt
index 53b55c00..c6134b97 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/service/follow/SendFollowDto.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/service/follow/SendFollowDto.kt
@@ -1,5 +1,5 @@
 package dev.usbharu.hideout.core.service.follow
 
-import dev.usbharu.hideout.core.domain.model.user.User
+import dev.usbharu.hideout.core.domain.model.actor.Actor
 
-data class SendFollowDto(val userId: User, val followTargetUserId: User)
+data class SendFollowDto(val actorId: Actor, val followTargetActorId: Actor)
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/service/post/PostServiceImpl.kt b/src/main/kotlin/dev/usbharu/hideout/core/service/post/PostServiceImpl.kt
index 2e2c6c0c..a5bb1d47 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/service/post/PostServiceImpl.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/service/post/PostServiceImpl.kt
@@ -2,9 +2,9 @@ package dev.usbharu.hideout.core.service.post
 
 import dev.usbharu.hideout.activitypub.service.activity.create.ApSendCreateService
 import dev.usbharu.hideout.core.domain.exception.UserNotFoundException
+import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
 import dev.usbharu.hideout.core.domain.model.post.Post
 import dev.usbharu.hideout.core.domain.model.post.PostRepository
-import dev.usbharu.hideout.core.domain.model.user.UserRepository
 import dev.usbharu.hideout.core.query.PostQueryService
 import dev.usbharu.hideout.core.service.timeline.TimelineService
 import org.jetbrains.exposed.exceptions.ExposedSQLException
@@ -16,7 +16,7 @@ import java.time.Instant
 @Service
 class PostServiceImpl(
     private val postRepository: PostRepository,
-    private val userRepository: UserRepository,
+    private val actorRepository: ActorRepository,
     private val timelineService: TimelineService,
     private val postQueryService: PostQueryService,
     private val postBuilder: Post.PostBuilder,
@@ -32,7 +32,7 @@ class PostServiceImpl(
     }
 
     override suspend fun createRemote(post: Post): Post {
-        logger.info("START Create Remote Post user: {}, remote url: {}", post.userId, post.apId)
+        logger.info("START Create Remote Post user: {}, remote url: {}", post.actorId, post.apId)
         val createdPost = internalCreate(post, false)
         logger.info("SUCCESS Create Remote Post url: {}", createdPost.url)
         return createdPost
@@ -55,11 +55,11 @@ class PostServiceImpl(
     }
 
     private suspend fun internalCreate(post: PostCreateDto, isLocal: Boolean): Post {
-        val user = userRepository.findById(post.userId) ?: throw UserNotFoundException("${post.userId} was not found")
+        val user = actorRepository.findById(post.userId) ?: throw UserNotFoundException("${post.userId} was not found")
         val id = postRepository.generateId()
         val createPost = postBuilder.of(
             id = id,
-            userId = post.userId,
+            actorId = post.userId,
             overview = post.overview,
             text = post.text,
             createdAt = Instant.now().toEpochMilli(),
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/service/reaction/ReactionService.kt b/src/main/kotlin/dev/usbharu/hideout/core/service/reaction/ReactionService.kt
index 3e00918a..333deb1d 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/service/reaction/ReactionService.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/service/reaction/ReactionService.kt
@@ -4,7 +4,7 @@ import org.springframework.stereotype.Service
 
 @Service
 interface ReactionService {
-    suspend fun receiveReaction(name: String, domain: String, userId: Long, postId: Long)
-    suspend fun sendReaction(name: String, userId: Long, postId: Long)
-    suspend fun removeReaction(userId: Long, postId: Long)
+    suspend fun receiveReaction(name: String, domain: String, actorId: Long, postId: Long)
+    suspend fun sendReaction(name: String, actorId: Long, postId: Long)
+    suspend fun removeReaction(actorId: Long, postId: Long)
 }
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/service/reaction/ReactionServiceImpl.kt b/src/main/kotlin/dev/usbharu/hideout/core/service/reaction/ReactionServiceImpl.kt
index 1ab87448..1e9be539 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/service/reaction/ReactionServiceImpl.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/service/reaction/ReactionServiceImpl.kt
@@ -16,34 +16,34 @@ class ReactionServiceImpl(
     private val apReactionService: APReactionService,
     private val reactionQueryService: ReactionQueryService
 ) : ReactionService {
-    override suspend fun receiveReaction(name: String, domain: String, userId: Long, postId: Long) {
-        if (reactionQueryService.reactionAlreadyExist(postId, userId, 0).not()) {
+    override suspend fun receiveReaction(name: String, domain: String, actorId: Long, postId: Long) {
+        if (reactionQueryService.reactionAlreadyExist(postId, actorId, 0).not()) {
             try {
                 reactionRepository.save(
-                    Reaction(reactionRepository.generateId(), 0, postId, userId)
+                    Reaction(reactionRepository.generateId(), 0, postId, actorId)
                 )
             } catch (_: ExposedSQLException) {
             }
         }
     }
 
-    override suspend fun sendReaction(name: String, userId: Long, postId: Long) {
+    override suspend fun sendReaction(name: String, actorId: Long, postId: Long) {
         try {
             val findByPostIdAndUserIdAndEmojiId =
-                reactionQueryService.findByPostIdAndUserIdAndEmojiId(postId, userId, 0)
+                reactionQueryService.findByPostIdAndActorIdAndEmojiId(postId, actorId, 0)
             apReactionService.removeReaction(findByPostIdAndUserIdAndEmojiId)
             reactionRepository.delete(findByPostIdAndUserIdAndEmojiId)
         } catch (_: FailedToGetResourcesException) {
         }
-        val reaction = Reaction(reactionRepository.generateId(), 0, postId, userId)
+        val reaction = Reaction(reactionRepository.generateId(), 0, postId, actorId)
         reactionRepository.save(reaction)
         apReactionService.reaction(reaction)
     }
 
-    override suspend fun removeReaction(userId: Long, postId: Long) {
+    override suspend fun removeReaction(actorId: Long, postId: Long) {
         try {
             val findByPostIdAndUserIdAndEmojiId =
-                reactionQueryService.findByPostIdAndUserIdAndEmojiId(postId, userId, 0)
+                reactionQueryService.findByPostIdAndActorIdAndEmojiId(postId, actorId, 0)
             reactionRepository.delete(findByPostIdAndUserIdAndEmojiId)
             apReactionService.removeReaction(findByPostIdAndUserIdAndEmojiId)
         } catch (_: FailedToGetResourcesException) {
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/service/relationship/RelationshipService.kt b/src/main/kotlin/dev/usbharu/hideout/core/service/relationship/RelationshipService.kt
index 9032bd2e..9226de60 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/service/relationship/RelationshipService.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/service/relationship/RelationshipService.kt
@@ -1,22 +1,22 @@
 package dev.usbharu.hideout.core.service.relationship
 
 interface RelationshipService {
-    suspend fun followRequest(userId: Long, targetId: Long)
-    suspend fun block(userId: Long, targetId: Long)
+    suspend fun followRequest(actorId: Long, targetId: Long)
+    suspend fun block(actorId: Long, targetId: Long)
 
     /**
      * フォローリクエストを承認します
-     * [userId]が[targetId]からのフォローリクエストを承認します
+     * [actorId]が[targetId]からのフォローリクエストを承認します
      *
-     * @param userId 承認操作をするユーザー
+     * @param actorId 承認操作をするユーザー
      * @param targetId 承認するフォローリクエストを送ってきたユーザー
      * @param force 強制的にAcceptアクティビティを発行する
      */
-    suspend fun acceptFollowRequest(userId: Long, targetId: Long, force: Boolean = false)
-    suspend fun rejectFollowRequest(userId: Long, targetId: Long)
-    suspend fun ignoreFollowRequest(userId: Long, targetId: Long)
-    suspend fun unfollow(userId: Long, targetId: Long)
-    suspend fun unblock(userId: Long, targetId: Long)
-    suspend fun mute(userId: Long, targetId: Long)
-    suspend fun unmute(userId: Long, targetId: Long)
+    suspend fun acceptFollowRequest(actorId: Long, targetId: Long, force: Boolean = false)
+    suspend fun rejectFollowRequest(actorId: Long, targetId: Long)
+    suspend fun ignoreFollowRequest(actorId: Long, targetId: Long)
+    suspend fun unfollow(actorId: Long, targetId: Long)
+    suspend fun unblock(actorId: Long, targetId: Long)
+    suspend fun mute(actorId: Long, targetId: Long)
+    suspend fun unmute(actorId: Long, targetId: Long)
 }
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/service/relationship/RelationshipServiceImpl.kt b/src/main/kotlin/dev/usbharu/hideout/core/service/relationship/RelationshipServiceImpl.kt
index a94332f9..9bddbb1a 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/service/relationship/RelationshipServiceImpl.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/service/relationship/RelationshipServiceImpl.kt
@@ -7,10 +7,10 @@ import dev.usbharu.hideout.activitypub.service.activity.reject.ApSendRejectServi
 import dev.usbharu.hideout.activitypub.service.activity.undo.APSendUndoService
 import dev.usbharu.hideout.application.config.ApplicationConfig
 import dev.usbharu.hideout.core.domain.exception.FailedToGetResourcesException
+import dev.usbharu.hideout.core.domain.model.actor.Actor
 import dev.usbharu.hideout.core.domain.model.relationship.Relationship
 import dev.usbharu.hideout.core.domain.model.relationship.RelationshipRepository
-import dev.usbharu.hideout.core.domain.model.user.User
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.service.follow.SendFollowDto
 import org.slf4j.LoggerFactory
 import org.springframework.stereotype.Service
@@ -18,7 +18,7 @@ import org.springframework.stereotype.Service
 @Service
 class RelationshipServiceImpl(
     private val applicationConfig: ApplicationConfig,
-    private val userQueryService: UserQueryService,
+    private val actorQueryService: ActorQueryService,
     private val relationshipRepository: RelationshipRepository,
     private val apSendFollowService: APSendFollowService,
     private val apSendBlockService: APSendBlockService,
@@ -26,14 +26,14 @@ class RelationshipServiceImpl(
     private val apSendRejectService: ApSendRejectService,
     private val apSendUndoService: APSendUndoService
 ) : RelationshipService {
-    override suspend fun followRequest(userId: Long, targetId: Long) {
-        logger.info("START Follow Request userId: {} targetId: {}", userId, targetId)
+    override suspend fun followRequest(actorId: Long, targetId: Long) {
+        logger.info("START Follow Request userId: {} targetId: {}", actorId, targetId)
 
         val relationship =
-            relationshipRepository.findByUserIdAndTargetUserId(userId, targetId)?.copy(followRequest = true)
+            relationshipRepository.findByUserIdAndTargetUserId(actorId, targetId)?.copy(followRequest = true)
                 ?: Relationship(
-                    userId = userId,
-                    targetUserId = targetId,
+                    actorId = actorId,
+                    targetActorId = targetId,
                     following = false,
                     blocking = false,
                     muting = false,
@@ -41,9 +41,9 @@ class RelationshipServiceImpl(
                     ignoreFollowRequestFromTarget = false
                 )
 
-        val inverseRelationship = relationshipRepository.findByUserIdAndTargetUserId(targetId, userId) ?: Relationship(
-            userId = targetId,
-            targetUserId = userId,
+        val inverseRelationship = relationshipRepository.findByUserIdAndTargetUserId(targetId, actorId) ?: Relationship(
+            actorId = targetId,
+            targetActorId = actorId,
             following = false,
             blocking = false,
             muting = false,
@@ -52,22 +52,22 @@ class RelationshipServiceImpl(
         )
 
         if (inverseRelationship.blocking) {
-            logger.debug("FAILED Blocked by target. userId: {} targetId: {}", userId, targetId)
+            logger.debug("FAILED Blocked by target. userId: {} targetId: {}", actorId, targetId)
             return
         }
 
         if (relationship.blocking) {
-            logger.debug("FAILED Blocking user. userId: {} targetId: {}", userId, targetId)
+            logger.debug("FAILED Blocking user. userId: {} targetId: {}", actorId, targetId)
             return
         }
         if (inverseRelationship.ignoreFollowRequestFromTarget) {
-            logger.debug("SUCCESS Ignore Follow Request. userId: {} targetId: {}", userId, targetId)
+            logger.debug("SUCCESS Ignore Follow Request. userId: {} targetId: {}", actorId, targetId)
             return
         }
 
         if (relationship.following) {
-            logger.debug("SUCCESS User already follow. userId: {} targetId: {}", userId, targetId)
-            acceptFollowRequest(targetId, userId, true)
+            logger.debug("SUCCESS User already follow. userId: {} targetId: {}", actorId, targetId)
+            acceptFollowRequest(targetId, actorId, true)
             return
         }
 
@@ -76,21 +76,21 @@ class RelationshipServiceImpl(
         val remoteUser = isRemoteUser(targetId)
 
         if (remoteUser != null) {
-            val user = userQueryService.findById(userId)
+            val user = actorQueryService.findById(actorId)
             apSendFollowService.sendFollow(SendFollowDto(user, remoteUser))
         } else {
             // TODO: フォロー許可制ユーザーを実装したら消す
-            acceptFollowRequest(targetId, userId)
+            acceptFollowRequest(targetId, actorId)
         }
 
-        logger.info("SUCCESS Follow Request userId: {} targetId: {}", userId, targetId)
+        logger.info("SUCCESS Follow Request userId: {} targetId: {}", actorId, targetId)
     }
 
-    override suspend fun block(userId: Long, targetId: Long) {
-        val relationship = relationshipRepository.findByUserIdAndTargetUserId(userId, targetId)
+    override suspend fun block(actorId: Long, targetId: Long) {
+        val relationship = relationshipRepository.findByUserIdAndTargetUserId(actorId, targetId)
             ?.copy(blocking = true, followRequest = false, following = false) ?: Relationship(
-            userId = userId,
-            targetUserId = targetId,
+            actorId = actorId,
+            targetActorId = targetId,
             following = false,
             blocking = true,
             muting = false,
@@ -98,7 +98,7 @@ class RelationshipServiceImpl(
             ignoreFollowRequestFromTarget = false
         )
 
-        val inverseRelationship = relationshipRepository.findByUserIdAndTargetUserId(targetId, userId)
+        val inverseRelationship = relationshipRepository.findByUserIdAndTargetUserId(targetId, actorId)
             ?.copy(followRequest = false, following = false)
 
         relationshipRepository.save(relationship)
@@ -109,19 +109,19 @@ class RelationshipServiceImpl(
         val remoteUser = isRemoteUser(targetId)
 
         if (remoteUser != null) {
-            val user = userQueryService.findById(userId)
+            val user = actorQueryService.findById(actorId)
             apSendBlockService.sendBlock(user, remoteUser)
         }
     }
 
-    override suspend fun acceptFollowRequest(userId: Long, targetId: Long, force: Boolean) {
-        logger.info("START Accept follow request userId: {} targetId: {}", userId, targetId)
+    override suspend fun acceptFollowRequest(actorId: Long, targetId: Long, force: Boolean) {
+        logger.info("START Accept follow request userId: {} targetId: {}", actorId, targetId)
 
-        val relationship = relationshipRepository.findByUserIdAndTargetUserId(targetId, userId)
+        val relationship = relationshipRepository.findByUserIdAndTargetUserId(targetId, actorId)
 
-        val inverseRelationship = relationshipRepository.findByUserIdAndTargetUserId(userId, targetId) ?: Relationship(
-            userId = targetId,
-            targetUserId = userId,
+        val inverseRelationship = relationshipRepository.findByUserIdAndTargetUserId(actorId, targetId) ?: Relationship(
+            actorId = targetId,
+            targetActorId = actorId,
             following = false,
             blocking = false,
             muting = false,
@@ -130,26 +130,26 @@ class RelationshipServiceImpl(
         )
 
         if (relationship == null) {
-            logger.warn("FAILED Follow Request Not Found. (Relationship) userId: {} targetId: {}", userId, targetId)
+            logger.warn("FAILED Follow Request Not Found. (Relationship) userId: {} targetId: {}", actorId, targetId)
             return
         }
 
         if (relationship.followRequest.not() && force.not()) {
-            logger.warn("FAILED Follow Request Not Found. (Follow Request) userId: {} targetId: {}", userId, targetId)
+            logger.warn("FAILED Follow Request Not Found. (Follow Request) userId: {} targetId: {}", actorId, targetId)
             return
         }
 
         if (relationship.blocking) {
-            logger.warn("FAILED Blocking user userId: {} targetId: {}", userId, targetId)
+            logger.warn("FAILED Blocking user userId: {} targetId: {}", actorId, targetId)
             throw IllegalStateException(
-                "Cannot accept a follow request from a blocked user. userId: $userId targetId: $targetId"
+                "Cannot accept a follow request from a blocked user. userId: $actorId targetId: $targetId"
             )
         }
 
         if (inverseRelationship.blocking) {
-            logger.warn("FAILED BLocked by user userId: {} targetId: {}", userId, targetId)
+            logger.warn("FAILED BLocked by user userId: {} targetId: {}", actorId, targetId)
             throw IllegalStateException(
-                "Cannot accept a follow request from a blocking user. userId: $userId targetId: $targetId"
+                "Cannot accept a follow request from a blocking user. userId: $actorId targetId: $targetId"
             )
         }
 
@@ -160,21 +160,21 @@ class RelationshipServiceImpl(
         val remoteUser = isRemoteUser(targetId)
 
         if (remoteUser != null) {
-            val user = userQueryService.findById(userId)
+            val user = actorQueryService.findById(actorId)
             apSendAcceptService.sendAcceptFollow(user, remoteUser)
         }
     }
 
-    override suspend fun rejectFollowRequest(userId: Long, targetId: Long) {
-        val relationship = relationshipRepository.findByUserIdAndTargetUserId(targetId, userId)
+    override suspend fun rejectFollowRequest(actorId: Long, targetId: Long) {
+        val relationship = relationshipRepository.findByUserIdAndTargetUserId(targetId, actorId)
 
         if (relationship == null) {
-            logger.warn("FAILED Follow Request Not Found. (Relationship) userId: {} targetId: {}", userId, targetId)
+            logger.warn("FAILED Follow Request Not Found. (Relationship) userId: {} targetId: {}", actorId, targetId)
             return
         }
 
         if (relationship.followRequest.not() && relationship.following.not()) {
-            logger.warn("FAILED Follow Request Not Found. (Follow Request) userId: {} targetId: {}", userId, targetId)
+            logger.warn("FAILED Follow Request Not Found. (Follow Request) userId: {} targetId: {}", actorId, targetId)
             return
         }
 
@@ -185,17 +185,17 @@ class RelationshipServiceImpl(
         val remoteUser = isRemoteUser(targetId)
 
         if (remoteUser != null) {
-            val user = userQueryService.findById(userId)
+            val user = actorQueryService.findById(actorId)
             apSendRejectService.sendRejectFollow(user, remoteUser)
         }
     }
 
-    override suspend fun ignoreFollowRequest(userId: Long, targetId: Long) {
-        val relationship = relationshipRepository.findByUserIdAndTargetUserId(userId, targetId)
+    override suspend fun ignoreFollowRequest(actorId: Long, targetId: Long) {
+        val relationship = relationshipRepository.findByUserIdAndTargetUserId(actorId, targetId)
             ?.copy(ignoreFollowRequestFromTarget = true)
             ?: Relationship(
-                userId = userId,
-                targetUserId = targetId,
+                actorId = actorId,
+                targetActorId = targetId,
                 following = false,
                 blocking = false,
                 muting = false,
@@ -206,16 +206,16 @@ class RelationshipServiceImpl(
         relationshipRepository.save(relationship)
     }
 
-    override suspend fun unfollow(userId: Long, targetId: Long) {
-        val relationship = relationshipRepository.findByUserIdAndTargetUserId(userId, targetId)
+    override suspend fun unfollow(actorId: Long, targetId: Long) {
+        val relationship = relationshipRepository.findByUserIdAndTargetUserId(actorId, targetId)
 
         if (relationship == null) {
-            logger.warn("FAILED Unfollow. (Relationship) userId: {} targetId: {}", userId, targetId)
+            logger.warn("FAILED Unfollow. (Relationship) userId: {} targetId: {}", actorId, targetId)
             return
         }
 
         if (relationship.following.not()) {
-            logger.warn("SUCCESS User already unfollow. userId: {} targetId: {}", userId, targetId)
+            logger.warn("SUCCESS User already unfollow. userId: {} targetId: {}", actorId, targetId)
             return
         }
 
@@ -226,21 +226,21 @@ class RelationshipServiceImpl(
         val remoteUser = isRemoteUser(targetId)
 
         if (remoteUser != null) {
-            val user = userQueryService.findById(userId)
+            val user = actorQueryService.findById(actorId)
             apSendUndoService.sendUndoFollow(user, remoteUser)
         }
     }
 
-    override suspend fun unblock(userId: Long, targetId: Long) {
-        val relationship = relationshipRepository.findByUserIdAndTargetUserId(userId, targetId)
+    override suspend fun unblock(actorId: Long, targetId: Long) {
+        val relationship = relationshipRepository.findByUserIdAndTargetUserId(actorId, targetId)
 
         if (relationship == null) {
-            logger.warn("FAILED Unblock. (Relationship) userId: {} targetId: {}", userId, targetId)
+            logger.warn("FAILED Unblock. (Relationship) userId: {} targetId: {}", actorId, targetId)
             return
         }
 
         if (relationship.blocking.not()) {
-            logger.warn("SUCCESS User is not blocking. userId: {] targetId: {}", userId, targetId)
+            logger.warn("SUCCESS User is not blocking. userId: {] targetId: {}", actorId, targetId)
             return
         }
 
@@ -249,16 +249,16 @@ class RelationshipServiceImpl(
 
         val remoteUser = isRemoteUser(targetId)
         if (remoteUser != null) {
-            val user = userQueryService.findById(userId)
+            val user = actorQueryService.findById(actorId)
             apSendUndoService.sendUndoBlock(user, remoteUser)
         }
     }
 
-    override suspend fun mute(userId: Long, targetId: Long) {
-        val relationship = relationshipRepository.findByUserIdAndTargetUserId(userId, targetId)?.copy(muting = true)
+    override suspend fun mute(actorId: Long, targetId: Long) {
+        val relationship = relationshipRepository.findByUserIdAndTargetUserId(actorId, targetId)?.copy(muting = true)
             ?: Relationship(
-                userId = userId,
-                targetUserId = targetId,
+                actorId = actorId,
+                targetActorId = targetId,
                 following = false,
                 blocking = false,
                 muting = true,
@@ -269,21 +269,21 @@ class RelationshipServiceImpl(
         relationshipRepository.save(relationship)
     }
 
-    override suspend fun unmute(userId: Long, targetId: Long) {
-        val relationship = relationshipRepository.findByUserIdAndTargetUserId(userId, targetId)?.copy(muting = false)
+    override suspend fun unmute(actorId: Long, targetId: Long) {
+        val relationship = relationshipRepository.findByUserIdAndTargetUserId(actorId, targetId)?.copy(muting = false)
 
         if (relationship == null) {
-            logger.warn("FAILED Mute. (Relationship) userId: {} targetId: {}", userId, targetId)
+            logger.warn("FAILED Mute. (Relationship) userId: {} targetId: {}", actorId, targetId)
             return
         }
 
         relationshipRepository.save(relationship)
     }
 
-    private suspend fun isRemoteUser(userId: Long): User? {
+    private suspend fun isRemoteUser(userId: Long): Actor? {
         logger.trace("isRemoteUser({})", userId)
         val user = try {
-            userQueryService.findById(userId)
+            actorQueryService.findById(userId)
         } catch (e: FailedToGetResourcesException) {
             logger.warn("User not found.", e)
             throw IllegalStateException("User not found.", e)
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/service/timeline/TimelineService.kt b/src/main/kotlin/dev/usbharu/hideout/core/service/timeline/TimelineService.kt
index 73958fb4..e53e327d 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/service/timeline/TimelineService.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/service/timeline/TimelineService.kt
@@ -4,22 +4,22 @@ import dev.usbharu.hideout.core.domain.model.post.Post
 import dev.usbharu.hideout.core.domain.model.post.Visibility
 import dev.usbharu.hideout.core.domain.model.timeline.Timeline
 import dev.usbharu.hideout.core.domain.model.timeline.TimelineRepository
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.query.FollowerQueryService
-import dev.usbharu.hideout.core.query.UserQueryService
 import org.slf4j.LoggerFactory
 import org.springframework.stereotype.Service
 
 @Service
 class TimelineService(
     private val followerQueryService: FollowerQueryService,
-    private val userQueryService: UserQueryService,
+    private val actorQueryService: ActorQueryService,
     private val timelineRepository: TimelineRepository
 ) {
     suspend fun publishTimeline(post: Post, isLocal: Boolean) {
-        val findFollowersById = followerQueryService.findFollowersById(post.userId).toMutableList()
+        val findFollowersById = followerQueryService.findFollowersById(post.actorId).toMutableList()
         if (isLocal) {
             // 自分自身も含める必要がある
-            val user = userQueryService.findById(post.userId)
+            val user = actorQueryService.findById(post.actorId)
             findFollowersById.add(user)
         }
         val timelines = findFollowersById.map {
@@ -28,7 +28,7 @@ class TimelineService(
                 userId = it.id,
                 timelineId = 0,
                 postId = post.id,
-                postUserId = post.userId,
+                postActorId = post.actorId,
                 createdAt = post.createdAt,
                 replyId = post.replyId,
                 repostId = post.repostId,
@@ -46,7 +46,7 @@ class TimelineService(
                     userId = 0,
                     timelineId = 0,
                     postId = post.id,
-                    postUserId = post.userId,
+                    postActorId = post.actorId,
                     createdAt = post.createdAt,
                     replyId = post.replyId,
                     repostId = post.repostId,
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/service/user/UserAuthServiceImpl.kt b/src/main/kotlin/dev/usbharu/hideout/core/service/user/UserAuthServiceImpl.kt
index 1bb4599a..5ec5d4be 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/service/user/UserAuthServiceImpl.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/service/user/UserAuthServiceImpl.kt
@@ -1,6 +1,6 @@
 package dev.usbharu.hideout.core.service.user
 
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.query.ActorQueryService
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
 import org.springframework.stereotype.Service
 import java.security.*
@@ -8,13 +8,13 @@ import java.util.*
 
 @Service
 class UserAuthServiceImpl(
-    val userQueryService: UserQueryService
+    val actorQueryService: ActorQueryService
 ) : UserAuthService {
 
     override fun hash(password: String): String = BCryptPasswordEncoder().encode(password)
 
     override suspend fun usernameAlreadyUse(username: String): Boolean {
-        userQueryService.findByName(username)
+        actorQueryService.findByName(username)
         return true
     }
 
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/service/user/UserService.kt b/src/main/kotlin/dev/usbharu/hideout/core/service/user/UserService.kt
index a9c0de2d..6ef40b6e 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/service/user/UserService.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/service/user/UserService.kt
@@ -1,6 +1,6 @@
 package dev.usbharu.hideout.core.service.user
 
-import dev.usbharu.hideout.core.domain.model.user.User
+import dev.usbharu.hideout.core.domain.model.actor.Actor
 import org.springframework.stereotype.Service
 
 @Service
@@ -8,7 +8,7 @@ interface UserService {
 
     suspend fun usernameAlreadyUse(username: String): Boolean
 
-    suspend fun createLocalUser(user: UserCreateDto): User
+    suspend fun createLocalUser(user: UserCreateDto): Actor
 
-    suspend fun createRemoteUser(user: RemoteUserCreateDto): User
+    suspend fun createRemoteUser(user: RemoteUserCreateDto): Actor
 }
diff --git a/src/main/kotlin/dev/usbharu/hideout/core/service/user/UserServiceImpl.kt b/src/main/kotlin/dev/usbharu/hideout/core/service/user/UserServiceImpl.kt
index b7bb12cf..aa7b0f48 100644
--- a/src/main/kotlin/dev/usbharu/hideout/core/service/user/UserServiceImpl.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/core/service/user/UserServiceImpl.kt
@@ -1,9 +1,9 @@
 package dev.usbharu.hideout.core.service.user
 
 import dev.usbharu.hideout.application.config.ApplicationConfig
-import dev.usbharu.hideout.core.domain.model.user.User
-import dev.usbharu.hideout.core.domain.model.user.UserRepository
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.domain.model.actor.Actor
+import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.service.instance.InstanceService
 import org.jetbrains.exposed.exceptions.ExposedSQLException
 import org.slf4j.LoggerFactory
@@ -13,26 +13,26 @@ import java.time.Instant
 
 @Service
 class UserServiceImpl(
-    private val userRepository: UserRepository,
+    private val actorRepository: ActorRepository,
     private val userAuthService: UserAuthService,
-    private val userQueryService: UserQueryService,
-    private val userBuilder: User.UserBuilder,
+    private val actorQueryService: ActorQueryService,
+    private val actorBuilder: Actor.UserBuilder,
     private val applicationConfig: ApplicationConfig,
     private val instanceService: InstanceService
 ) :
     UserService {
 
     override suspend fun usernameAlreadyUse(username: String): Boolean {
-        val findByNameAndDomain = userQueryService.findByNameAndDomain(username, applicationConfig.url.host)
+        val findByNameAndDomain = actorQueryService.findByNameAndDomain(username, applicationConfig.url.host)
         return findByNameAndDomain != null
     }
 
-    override suspend fun createLocalUser(user: UserCreateDto): User {
-        val nextId = userRepository.nextId()
+    override suspend fun createLocalUser(user: UserCreateDto): Actor {
+        val nextId = actorRepository.nextId()
         val hashedPassword = userAuthService.hash(user.password)
         val keyPair = userAuthService.generateKeyPair()
         val userUrl = "${applicationConfig.url}/users/${user.name}"
-        val userEntity = userBuilder.of(
+        val userEntity = actorBuilder.of(
             id = nextId,
             name = user.name,
             domain = applicationConfig.url.host,
@@ -49,11 +49,11 @@ class UserServiceImpl(
             followers = "$userUrl/followers",
             keyId = "$userUrl#pubkey"
         )
-        return userRepository.save(userEntity)
+        return actorRepository.save(userEntity)
     }
 
     @Transactional
-    override suspend fun createRemoteUser(user: RemoteUserCreateDto): User {
+    override suspend fun createRemoteUser(user: RemoteUserCreateDto): Actor {
         logger.info("START Create New remote user. name: {} url: {}", user.name, user.url)
         @Suppress("TooGenericExceptionCaught")
         val instance = try {
@@ -63,8 +63,8 @@ class UserServiceImpl(
             null
         }
 
-        val nextId = userRepository.nextId()
-        val userEntity = userBuilder.of(
+        val nextId = actorRepository.nextId()
+        val userEntity = actorBuilder.of(
             id = nextId,
             name = user.name,
             domain = user.domain,
@@ -81,12 +81,12 @@ class UserServiceImpl(
             instance = instance?.id
         )
         return try {
-            val save = userRepository.save(userEntity)
+            val save = actorRepository.save(userEntity)
             logger.warn("SUCCESS Create New remote user. id: {} name: {} url: {}", userEntity.id, user.name, user.url)
             save
         } catch (_: ExposedSQLException) {
             logger.warn("FAILED User already exists. name: {} url: {}", user.name, user.url)
-            userQueryService.findByUrl(user.url)
+            actorQueryService.findByUrl(user.url)
         }
     }
 
diff --git a/src/main/kotlin/dev/usbharu/hideout/mastodon/infrastructure/exposedquery/StatusQueryServiceImpl.kt b/src/main/kotlin/dev/usbharu/hideout/mastodon/infrastructure/exposedquery/StatusQueryServiceImpl.kt
index 9c5b46fe..9f636b34 100644
--- a/src/main/kotlin/dev/usbharu/hideout/mastodon/infrastructure/exposedquery/StatusQueryServiceImpl.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/mastodon/infrastructure/exposedquery/StatusQueryServiceImpl.kt
@@ -24,7 +24,7 @@ class StatusQueryServiceImpl : StatusQueryService {
         val mediaIdSet = mutableSetOf<Long>()
         mediaIdSet.addAll(statusQueries.flatMap { it.mediaIds })
         val postMap = Posts
-            .leftJoin(Users)
+            .leftJoin(Actors)
             .select { Posts.id inList postIdSet }
             .associate { it[Posts.id] to toStatus(it) }
         val mediaMap = Media.select { Media.id inList mediaIdSet }
@@ -57,9 +57,9 @@ class StatusQueryServiceImpl : StatusQueryService {
     ): List<Status> {
         val query = Posts
             .leftJoin(PostsMedia)
-            .leftJoin(Users)
+            .leftJoin(Actors)
             .leftJoin(Media)
-            .select { Posts.userId eq accountId }.limit(20)
+            .select { Posts.actorId eq accountId }.limit(20)
 
         if (maxId != null) {
             query.andWhere { Posts.id eq maxId }
@@ -120,7 +120,7 @@ class StatusQueryServiceImpl : StatusQueryService {
     private suspend fun findByPostIdsWithMedia(ids: List<Long>): List<Status> {
         val pairs = Posts
             .leftJoin(PostsMedia)
-            .leftJoin(Users)
+            .leftJoin(Actors)
             .leftJoin(Media)
             .select { Posts.id inList ids }
             .groupBy { it[Posts.id] }
@@ -141,24 +141,24 @@ private fun toStatus(it: ResultRow) = Status(
     uri = it[Posts.apId],
     createdAt = Instant.ofEpochMilli(it[Posts.createdAt]).toString(),
     account = Account(
-        id = it[Users.id].toString(),
-        username = it[Users.name],
-        acct = "${it[Users.name]}@${it[Users.domain]}",
-        url = it[Users.url],
-        displayName = it[Users.screenName],
-        note = it[Users.description],
-        avatar = it[Users.url] + "/icon.jpg",
-        avatarStatic = it[Users.url] + "/icon.jpg",
-        header = it[Users.url] + "/header.jpg",
-        headerStatic = it[Users.url] + "/header.jpg",
+        id = it[Actors.id].toString(),
+        username = it[Actors.name],
+        acct = "${it[Actors.name]}@${it[Actors.domain]}",
+        url = it[Actors.url],
+        displayName = it[Actors.screenName],
+        note = it[Actors.description],
+        avatar = it[Actors.url] + "/icon.jpg",
+        avatarStatic = it[Actors.url] + "/icon.jpg",
+        header = it[Actors.url] + "/header.jpg",
+        headerStatic = it[Actors.url] + "/header.jpg",
         locked = false,
         fields = emptyList(),
         emojis = emptyList(),
         bot = false,
         group = false,
         discoverable = true,
-        createdAt = Instant.ofEpochMilli(it[Users.createdAt]).toString(),
-        lastStatusAt = Instant.ofEpochMilli(it[Users.createdAt]).toString(),
+        createdAt = Instant.ofEpochMilli(it[Actors.createdAt]).toString(),
+        lastStatusAt = Instant.ofEpochMilli(it[Actors.createdAt]).toString(),
         statusesCount = 0,
         followersCount = 0,
         followingCount = 0,
diff --git a/src/main/kotlin/dev/usbharu/hideout/mastodon/service/account/AccountApiService.kt b/src/main/kotlin/dev/usbharu/hideout/mastodon/service/account/AccountApiService.kt
index f639afc8..7a19b065 100644
--- a/src/main/kotlin/dev/usbharu/hideout/mastodon/service/account/AccountApiService.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/mastodon/service/account/AccountApiService.kt
@@ -194,8 +194,8 @@ class AccountApiServiceImpl(
     private suspend fun fetchRelationship(userid: Long, targetId: Long): Relationship {
         val relationship = relationshipRepository.findByUserIdAndTargetUserId(userid, targetId)
             ?: dev.usbharu.hideout.core.domain.model.relationship.Relationship(
-                userId = userid,
-                targetUserId = targetId,
+                actorId = userid,
+                targetActorId = targetId,
                 following = false,
                 blocking = false,
                 muting = false,
@@ -205,8 +205,8 @@ class AccountApiServiceImpl(
 
         val inverseRelationship = relationshipRepository.findByUserIdAndTargetUserId(targetId, userid)
             ?: dev.usbharu.hideout.core.domain.model.relationship.Relationship(
-                userId = targetId,
-                targetUserId = userid,
+                actorId = targetId,
+                targetActorId = userid,
                 following = false,
                 blocking = false,
                 muting = false,
diff --git a/src/main/kotlin/dev/usbharu/hideout/mastodon/service/account/AccountService.kt b/src/main/kotlin/dev/usbharu/hideout/mastodon/service/account/AccountService.kt
index 72050167..0cdc4c2a 100644
--- a/src/main/kotlin/dev/usbharu/hideout/mastodon/service/account/AccountService.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/mastodon/service/account/AccountService.kt
@@ -1,7 +1,7 @@
 package dev.usbharu.hideout.mastodon.service.account
 
 import dev.usbharu.hideout.application.config.ApplicationConfig
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.domain.mastodon.model.generated.Account
 import org.springframework.stereotype.Service
 
@@ -12,11 +12,11 @@ interface AccountService {
 
 @Service
 class AccountServiceImpl(
-    private val userQueryService: UserQueryService,
+    private val actorQueryService: ActorQueryService,
     private val applicationConfig: ApplicationConfig
 ) : AccountService {
     override suspend fun findById(id: Long): Account {
-        val findById = userQueryService.findById(id)
+        val findById = actorQueryService.findById(id)
         val userUrl = applicationConfig.url.toString() + "/users/" + findById.id.toString()
 
         return Account(
diff --git a/src/main/kotlin/dev/usbharu/hideout/mastodon/service/status/StatusesApiService.kt b/src/main/kotlin/dev/usbharu/hideout/mastodon/service/status/StatusesApiService.kt
index 198681ce..eac73698 100644
--- a/src/main/kotlin/dev/usbharu/hideout/mastodon/service/status/StatusesApiService.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/mastodon/service/status/StatusesApiService.kt
@@ -4,8 +4,8 @@ import dev.usbharu.hideout.application.external.Transaction
 import dev.usbharu.hideout.core.domain.exception.FailedToGetResourcesException
 import dev.usbharu.hideout.core.domain.model.media.MediaRepository
 import dev.usbharu.hideout.core.domain.model.media.toMediaAttachments
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.query.PostQueryService
-import dev.usbharu.hideout.core.query.UserQueryService
 import dev.usbharu.hideout.core.service.post.PostCreateDto
 import dev.usbharu.hideout.core.service.post.PostService
 import dev.usbharu.hideout.domain.mastodon.model.generated.Status
@@ -30,7 +30,7 @@ class StatsesApiServiceImpl(
     private val postService: PostService,
     private val accountService: AccountService,
     private val postQueryService: PostQueryService,
-    private val userQueryService: UserQueryService,
+    private val actorQueryService: ActorQueryService,
     private val mediaRepository: MediaRepository,
     private val transaction: Transaction
 ) :
@@ -55,7 +55,7 @@ class StatsesApiServiceImpl(
 
         val replyUser = if (post.replyId != null) {
             try {
-                userQueryService.findById(postQueryService.findById(post.replyId).userId).id
+                actorQueryService.findById(postQueryService.findById(post.replyId).actorId).id
             } catch (ignore: FailedToGetResourcesException) {
                 null
             }
diff --git a/src/main/kotlin/dev/usbharu/hideout/util/AcctUtil.kt b/src/main/kotlin/dev/usbharu/hideout/util/AcctUtil.kt
index a0f1a09b..a9043fa1 100644
--- a/src/main/kotlin/dev/usbharu/hideout/util/AcctUtil.kt
+++ b/src/main/kotlin/dev/usbharu/hideout/util/AcctUtil.kt
@@ -1,6 +1,6 @@
 package dev.usbharu.hideout.util
 
-import dev.usbharu.hideout.core.domain.model.user.Acct
+import dev.usbharu.hideout.core.domain.model.actor.Acct
 
 object AcctUtil {
     fun parse(string: String): Acct {
diff --git a/src/test/kotlin/dev/usbharu/hideout/activitypub/interfaces/api/actor/UserAPControllerImplTest.kt b/src/test/kotlin/dev/usbharu/hideout/activitypub/interfaces/api/actor/ActorAPControllerImplTest.kt
similarity index 99%
rename from src/test/kotlin/dev/usbharu/hideout/activitypub/interfaces/api/actor/UserAPControllerImplTest.kt
rename to src/test/kotlin/dev/usbharu/hideout/activitypub/interfaces/api/actor/ActorAPControllerImplTest.kt
index 5d7bab4d..14283127 100644
--- a/src/test/kotlin/dev/usbharu/hideout/activitypub/interfaces/api/actor/UserAPControllerImplTest.kt
+++ b/src/test/kotlin/dev/usbharu/hideout/activitypub/interfaces/api/actor/ActorAPControllerImplTest.kt
@@ -23,7 +23,7 @@ import org.springframework.test.web.servlet.post
 import org.springframework.test.web.servlet.setup.MockMvcBuilders
 
 @ExtendWith(MockitoExtension::class)
-class UserAPControllerImplTest {
+class ActorAPControllerImplTest {
 
     private lateinit var mockMvc: MockMvc
 
diff --git a/src/test/kotlin/dev/usbharu/hideout/activitypub/service/activity/accept/APDeliverAcceptJobProcessorTest.kt b/src/test/kotlin/dev/usbharu/hideout/activitypub/service/activity/accept/APDeliverAcceptJobProcessorTest.kt
index 4eeded48..f26cd135 100644
--- a/src/test/kotlin/dev/usbharu/hideout/activitypub/service/activity/accept/APDeliverAcceptJobProcessorTest.kt
+++ b/src/test/kotlin/dev/usbharu/hideout/activitypub/service/activity/accept/APDeliverAcceptJobProcessorTest.kt
@@ -5,7 +5,7 @@ import dev.usbharu.hideout.activitypub.domain.model.Follow
 import dev.usbharu.hideout.activitypub.service.common.APRequestService
 import dev.usbharu.hideout.core.external.job.DeliverAcceptJob
 import dev.usbharu.hideout.core.external.job.DeliverAcceptJobParam
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.query.ActorQueryService
 import kotlinx.coroutines.test.runTest
 import org.assertj.core.api.Assertions.assertThat
 import org.junit.jupiter.api.Test
@@ -25,7 +25,7 @@ class APDeliverAcceptJobProcessorTest {
     private lateinit var apRequestService: APRequestService
 
     @Mock
-    private lateinit var userQueryService: UserQueryService
+    private lateinit var actorQueryService: ActorQueryService
 
     @Mock
     private lateinit var deliverAcceptJob: DeliverAcceptJob
@@ -40,7 +40,7 @@ class APDeliverAcceptJobProcessorTest {
     fun `process apPostが発行される`() = runTest {
         val user = UserBuilder.localUserOf()
 
-        whenever(userQueryService.findById(eq(1))).doReturn(user)
+        whenever(actorQueryService.findById(eq(1))).doReturn(user)
 
         val accept = Accept(
             apObject = Follow(
diff --git a/src/test/kotlin/dev/usbharu/hideout/activitypub/service/activity/accept/ApAcceptProcessorTest.kt b/src/test/kotlin/dev/usbharu/hideout/activitypub/service/activity/accept/ApAcceptProcessorTest.kt
index b9015e1d..793a65b6 100644
--- a/src/test/kotlin/dev/usbharu/hideout/activitypub/service/activity/accept/ApAcceptProcessorTest.kt
+++ b/src/test/kotlin/dev/usbharu/hideout/activitypub/service/activity/accept/ApAcceptProcessorTest.kt
@@ -7,7 +7,7 @@ import dev.usbharu.hideout.activitypub.domain.model.Like
 import dev.usbharu.hideout.activitypub.service.common.ActivityPubProcessContext
 import dev.usbharu.hideout.activitypub.service.common.ActivityType
 import dev.usbharu.hideout.application.config.ActivityPubConfig
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.service.relationship.RelationshipService
 import dev.usbharu.httpsignature.common.HttpHeaders
 import dev.usbharu.httpsignature.common.HttpMethod
@@ -34,7 +34,7 @@ import java.net.URL
 class ApAcceptProcessorTest {
 
     @Mock
-    private lateinit var userQueryService: UserQueryService
+    private lateinit var actorQueryService: ActorQueryService
 
     @Mock
     private lateinit var relationshipService: RelationshipService
@@ -67,9 +67,9 @@ class ApAcceptProcessorTest {
         )
 
         val user = UserBuilder.localUserOf()
-        whenever(userQueryService.findByUrl(eq("https://example.com"))).doReturn(user)
+        whenever(actorQueryService.findByUrl(eq("https://example.com"))).doReturn(user)
         val remoteUser = UserBuilder.remoteUserOf()
-        whenever(userQueryService.findByUrl(eq("https://remote.example.com"))).doReturn(remoteUser)
+        whenever(actorQueryService.findByUrl(eq("https://remote.example.com"))).doReturn(remoteUser)
 
         apAcceptProcessor.internalProcess(activity)
 
diff --git a/src/test/kotlin/dev/usbharu/hideout/activitypub/service/activity/block/APDeliverBlockJobProcessorTest.kt b/src/test/kotlin/dev/usbharu/hideout/activitypub/service/activity/block/APDeliverBlockJobProcessorTest.kt
index 55e52ff9..1451ad4b 100644
--- a/src/test/kotlin/dev/usbharu/hideout/activitypub/service/activity/block/APDeliverBlockJobProcessorTest.kt
+++ b/src/test/kotlin/dev/usbharu/hideout/activitypub/service/activity/block/APDeliverBlockJobProcessorTest.kt
@@ -4,7 +4,7 @@ import dev.usbharu.hideout.activitypub.domain.model.Block
 import dev.usbharu.hideout.activitypub.domain.model.Follow
 import dev.usbharu.hideout.activitypub.domain.model.Reject
 import dev.usbharu.hideout.activitypub.service.common.APRequestService
-import dev.usbharu.hideout.core.domain.model.user.UserRepository
+import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
 import dev.usbharu.hideout.core.external.job.DeliverBlockJob
 import dev.usbharu.hideout.core.external.job.DeliverBlockJobParam
 import kotlinx.coroutines.test.runTest
@@ -26,7 +26,7 @@ class APDeliverBlockJobProcessorTest {
     private lateinit var apRequestService: APRequestService
 
     @Mock
-    private lateinit var userRepository: UserRepository
+    private lateinit var actorRepository: ActorRepository
 
     @Spy
     private val transaction = TestTransaction
@@ -40,7 +40,7 @@ class APDeliverBlockJobProcessorTest {
     @Test
     fun `process rejectとblockがapPostされる`() = runTest {
         val user = UserBuilder.localUserOf()
-        whenever(userRepository.findById(eq(user.id))).doReturn(user)
+        whenever(actorRepository.findById(eq(user.id))).doReturn(user)
 
 
         val block = Block(
diff --git a/src/test/kotlin/dev/usbharu/hideout/activitypub/service/activity/create/ApSendCreateServiceImplTest.kt b/src/test/kotlin/dev/usbharu/hideout/activitypub/service/activity/create/ApSendCreateServiceImplTest.kt
index 01975882..c2f4f87e 100644
--- a/src/test/kotlin/dev/usbharu/hideout/activitypub/service/activity/create/ApSendCreateServiceImplTest.kt
+++ b/src/test/kotlin/dev/usbharu/hideout/activitypub/service/activity/create/ApSendCreateServiceImplTest.kt
@@ -7,8 +7,8 @@ import dev.usbharu.hideout.activitypub.service.objects.note.APNoteServiceImpl
 import dev.usbharu.hideout.application.config.ActivityPubConfig
 import dev.usbharu.hideout.application.config.ApplicationConfig
 import dev.usbharu.hideout.core.external.job.DeliverPostJob
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.query.FollowerQueryService
-import dev.usbharu.hideout.core.query.UserQueryService
 import dev.usbharu.hideout.core.service.job.JobQueueParentService
 import kotlinx.coroutines.test.runTest
 import org.junit.jupiter.api.Test
@@ -36,7 +36,7 @@ class ApSendCreateServiceImplTest {
     private lateinit var jobQueueParentService: JobQueueParentService
 
     @Mock
-    private lateinit var userQueryService: UserQueryService
+    private lateinit var actorQueryService: ActorQueryService
 
     @Mock
     private lateinit var noteQueryService: NoteQueryService
@@ -50,7 +50,7 @@ class ApSendCreateServiceImplTest {
     @Test
     fun `createNote 正常なPostでCreateのジョブを発行できる`() = runTest {
         val post = PostBuilder.of()
-        val user = UserBuilder.localUserOf(id = post.userId)
+        val user = UserBuilder.localUserOf(id = post.actorId)
         val note = Note(
             id = post.apId,
             attributedTo = user.url,
@@ -67,8 +67,8 @@ class ApSendCreateServiceImplTest {
             UserBuilder.remoteUserOf()
         )
 
-        whenever(followerQueryService.findFollowersById(eq(post.userId))).doReturn(followers)
-        whenever(userQueryService.findById(eq(post.userId))).doReturn(user)
+        whenever(followerQueryService.findFollowersById(eq(post.actorId))).doReturn(followers)
+        whenever(actorQueryService.findById(eq(post.actorId))).doReturn(user)
         whenever(noteQueryService.findById(eq(post.id))).doReturn(note to post)
 
         apSendCreateServiceImpl.createNote(post)
diff --git a/src/test/kotlin/dev/usbharu/hideout/activitypub/service/activity/follow/APSendFollowServiceImplTest.kt b/src/test/kotlin/dev/usbharu/hideout/activitypub/service/activity/follow/APSendFollowServiceImplTest.kt
index 0fe5f689..0c9f266c 100644
--- a/src/test/kotlin/dev/usbharu/hideout/activitypub/service/activity/follow/APSendFollowServiceImplTest.kt
+++ b/src/test/kotlin/dev/usbharu/hideout/activitypub/service/activity/follow/APSendFollowServiceImplTest.kt
@@ -24,13 +24,13 @@ class APSendFollowServiceImplTest {
         apSendFollowServiceImpl.sendFollow(sendFollowDto)
 
         val value = Follow(
-            apObject = sendFollowDto.followTargetUserId.url,
-            actor = sendFollowDto.userId.url
+            apObject = sendFollowDto.followTargetActorId.url,
+            actor = sendFollowDto.actorId.url
         )
         verify(apRequestService, times(1)).apPost(
-            eq(sendFollowDto.followTargetUserId.inbox),
+            eq(sendFollowDto.followTargetActorId.inbox),
             eq(value),
-            eq(sendFollowDto.userId)
+            eq(sendFollowDto.actorId)
         )
     }
 }
diff --git a/src/test/kotlin/dev/usbharu/hideout/activitypub/service/activity/like/APReactionServiceImplTest.kt b/src/test/kotlin/dev/usbharu/hideout/activitypub/service/activity/like/APReactionServiceImplTest.kt
index beffd8e0..0dd3ae9a 100644
--- a/src/test/kotlin/dev/usbharu/hideout/activitypub/service/activity/like/APReactionServiceImplTest.kt
+++ b/src/test/kotlin/dev/usbharu/hideout/activitypub/service/activity/like/APReactionServiceImplTest.kt
@@ -35,7 +35,7 @@ class APReactionServiceImplTest {
         val jobQueueParentService = mock<JobQueueParentService>()
         val apReactionServiceImpl = APReactionServiceImpl(
             jobQueueParentService = jobQueueParentService,
-            userQueryService = mock(),
+            actorQueryService = mock(),
             followerQueryService = followerQueryService,
             postQueryService = postQueryService,
             objectMapper = objectMapper
@@ -46,7 +46,7 @@ class APReactionServiceImplTest {
                 id = TwitterSnowflakeIdGenerateService.generateId(),
                 emojiId = 0,
                 postId = post.id,
-                userId = user.id
+                actorId = user.id
             )
         )
 
@@ -72,7 +72,7 @@ class APReactionServiceImplTest {
         val jobQueueParentService = mock<JobQueueParentService>()
         val apReactionServiceImpl = APReactionServiceImpl(
             jobQueueParentService = jobQueueParentService,
-            userQueryService = mock(),
+            actorQueryService = mock(),
             followerQueryService = followerQueryService,
             postQueryService = postQueryService,
             objectMapper = objectMapper
@@ -83,7 +83,7 @@ class APReactionServiceImplTest {
                 id = TwitterSnowflakeIdGenerateService.generateId(),
                 emojiId = 0,
                 postId = post.id,
-                userId = user.id
+                actorId = user.id
             )
         )
 
diff --git a/src/test/kotlin/dev/usbharu/hideout/activitypub/service/common/APResourceResolveServiceImplTest.kt b/src/test/kotlin/dev/usbharu/hideout/activitypub/service/common/APResourceResolveServiceImplTest.kt
index 5f167d6b..37623edd 100644
--- a/src/test/kotlin/dev/usbharu/hideout/activitypub/service/common/APResourceResolveServiceImplTest.kt
+++ b/src/test/kotlin/dev/usbharu/hideout/activitypub/service/common/APResourceResolveServiceImplTest.kt
@@ -1,6 +1,6 @@
 package dev.usbharu.hideout.activitypub.service.common
 
-import dev.usbharu.hideout.core.domain.model.user.UserRepository
+import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
 import dev.usbharu.hideout.core.service.resource.InMemoryCacheManager
 import kotlinx.coroutines.async
 import kotlinx.coroutines.awaitAll
@@ -20,10 +20,10 @@ class APResourceResolveServiceImplTest {
     fun `単純な一回のリクエスト`() = runTest {
 
 
-        val userRepository = mock<UserRepository>()
+        val actorRepository = mock<ActorRepository>()
 
         val user = UserBuilder.localUserOf()
-        whenever(userRepository.findById(any())) doReturn user
+        whenever(actorRepository.findById(any())) doReturn user
 
         val apRequestService = mock<APRequestService> {
             onBlocking {
@@ -37,7 +37,7 @@ class APResourceResolveServiceImplTest {
             )
         }
         val apResourceResolveService =
-            APResourceResolveServiceImpl(apRequestService, userRepository, InMemoryCacheManager())
+            APResourceResolveServiceImpl(apRequestService, actorRepository, InMemoryCacheManager())
 
         apResourceResolveService.resolve<APObject>("https", 0)
 
@@ -48,10 +48,10 @@ class APResourceResolveServiceImplTest {
     fun 複数回の同じリクエストが重複して発行されない() = runTest {
 
 
-        val userRepository = mock<UserRepository>()
+        val actorRepository = mock<ActorRepository>()
 
         val user = UserBuilder.localUserOf()
-        whenever(userRepository.findById(any())) doReturn user
+        whenever(actorRepository.findById(any())) doReturn user
 
         val apRequestService = mock<APRequestService> {
             onBlocking {
@@ -65,7 +65,7 @@ class APResourceResolveServiceImplTest {
             )
         }
         val apResourceResolveService =
-            APResourceResolveServiceImpl(apRequestService, userRepository, InMemoryCacheManager())
+            APResourceResolveServiceImpl(apRequestService, actorRepository, InMemoryCacheManager())
 
         apResourceResolveService.resolve<APObject>("https", 0)
         apResourceResolveService.resolve<APObject>("https", 0)
@@ -83,10 +83,10 @@ class APResourceResolveServiceImplTest {
     fun 複数回の同じリクエストが同時に発行されても重複して発行されない() = runTest {
 
 
-        val userRepository = mock<UserRepository>()
+        val actorRepository = mock<ActorRepository>()
         val user = UserBuilder.localUserOf()
 
-        whenever(userRepository.findById(any())) doReturn user
+        whenever(actorRepository.findById(any())) doReturn user
 
 
         val apRequestService = mock<APRequestService> {
@@ -101,7 +101,7 @@ class APResourceResolveServiceImplTest {
             )
         }
         val apResourceResolveService =
-            APResourceResolveServiceImpl(apRequestService, userRepository, InMemoryCacheManager())
+            APResourceResolveServiceImpl(apRequestService, actorRepository, InMemoryCacheManager())
 
         repeat(10) {
             awaitAll(
@@ -129,10 +129,10 @@ class APResourceResolveServiceImplTest {
     @Test
     fun 関係のないリクエストは発行する() = runTest {
 
-        val userRepository = mock<UserRepository>()
+        val actorRepository = mock<ActorRepository>()
 
         val user = UserBuilder.localUserOf()
-        whenever(userRepository.findById(any())).doReturn(
+        whenever(actorRepository.findById(any())).doReturn(
             user
         )
 
@@ -149,7 +149,7 @@ class APResourceResolveServiceImplTest {
         }
 
         val apResourceResolveService =
-            APResourceResolveServiceImpl(apRequestService, userRepository, InMemoryCacheManager())
+            APResourceResolveServiceImpl(apRequestService, actorRepository, InMemoryCacheManager())
 
         apResourceResolveService.resolve<APObject>("abcd", 0)
         apResourceResolveService.resolve<APObject>("1234", 0)
diff --git a/src/test/kotlin/dev/usbharu/hideout/activitypub/service/objects/note/APNoteServiceImplTest.kt b/src/test/kotlin/dev/usbharu/hideout/activitypub/service/objects/note/APNoteServiceImplTest.kt
index b8713816..f7415589 100644
--- a/src/test/kotlin/dev/usbharu/hideout/activitypub/service/objects/note/APNoteServiceImplTest.kt
+++ b/src/test/kotlin/dev/usbharu/hideout/activitypub/service/objects/note/APNoteServiceImplTest.kt
@@ -16,8 +16,8 @@ import dev.usbharu.hideout.application.service.id.TwitterSnowflakeIdGenerateServ
 import dev.usbharu.hideout.core.domain.exception.FailedToGetResourcesException
 import dev.usbharu.hideout.core.domain.model.post.Post
 import dev.usbharu.hideout.core.domain.model.post.PostRepository
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.query.PostQueryService
-import dev.usbharu.hideout.core.query.UserQueryService
 import dev.usbharu.hideout.core.service.post.PostService
 import io.ktor.client.*
 import io.ktor.client.call.*
@@ -51,9 +51,9 @@ class APNoteServiceImplTest {
         val url = "https://example.com/note"
         val post = PostBuilder.of()
 
-        val user = UserBuilder.localUserOf(id = post.userId)
-        val userQueryService = mock<UserQueryService> {
-            onBlocking { findById(eq(post.userId)) } doReturn user
+        val user = UserBuilder.localUserOf(id = post.actorId)
+        val actorQueryService = mock<ActorQueryService> {
+            onBlocking { findById(eq(post.actorId)) } doReturn user
         }
         val expected = Note(
             id = post.apId,
@@ -92,9 +92,9 @@ class APNoteServiceImplTest {
         val postQueryService = mock<PostQueryService> {
             onBlocking { findByApId(eq(post.apId)) } doReturn post
         }
-        val user = UserBuilder.localUserOf(id = post.userId)
-        val userQueryService = mock<UserQueryService> {
-            onBlocking { findById(eq(post.userId)) } doReturn user
+        val user = UserBuilder.localUserOf(id = post.actorId)
+        val actorQueryService = mock<ActorQueryService> {
+            onBlocking { findById(eq(post.actorId)) } doReturn user
         }
         val note = Note(
             id = post.apId,
@@ -167,9 +167,9 @@ class APNoteServiceImplTest {
             val postQueryService = mock<PostQueryService> {
                 onBlocking { findByApId(eq(post.apId)) } doReturn post
             }
-            val user = UserBuilder.localUserOf(id = post.userId)
-            val userQueryService = mock<UserQueryService> {
-                onBlocking { findById(eq(post.userId)) } doReturn user
+            val user = UserBuilder.localUserOf(id = post.actorId)
+            val actorQueryService = mock<ActorQueryService> {
+                onBlocking { findById(eq(post.actorId)) } doReturn user
             }
             val note = Note(
                 id = post.apId,
@@ -299,7 +299,7 @@ class APNoteServiceImplTest {
         val user = UserBuilder.localUserOf()
         val post = PostBuilder.of(userId = user.id)
 
-        val userQueryService = mock<UserQueryService> {
+        val actorQueryService = mock<ActorQueryService> {
             onBlocking { findById(eq(user.id)) } doReturn user
         }
         val note = Note(
diff --git a/src/test/kotlin/dev/usbharu/hideout/core/service/post/PostServiceImplTest.kt b/src/test/kotlin/dev/usbharu/hideout/core/service/post/PostServiceImplTest.kt
index e9d17e68..9ebbae81 100644
--- a/src/test/kotlin/dev/usbharu/hideout/core/service/post/PostServiceImplTest.kt
+++ b/src/test/kotlin/dev/usbharu/hideout/core/service/post/PostServiceImplTest.kt
@@ -2,9 +2,9 @@ package dev.usbharu.hideout.core.service.post
 
 import dev.usbharu.hideout.activitypub.service.activity.create.ApSendCreateService
 import dev.usbharu.hideout.application.config.CharacterLimit
+import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
 import dev.usbharu.hideout.core.domain.model.post.Post
 import dev.usbharu.hideout.core.domain.model.post.PostRepository
-import dev.usbharu.hideout.core.domain.model.user.UserRepository
 import dev.usbharu.hideout.core.query.PostQueryService
 import dev.usbharu.hideout.core.service.timeline.TimelineService
 import kotlinx.coroutines.test.runTest
@@ -31,7 +31,7 @@ class PostServiceImplTest {
     private lateinit var postRepository: PostRepository
 
     @Mock
-    private lateinit var userRepository: UserRepository
+    private lateinit var actorRepository: ActorRepository
 
     @Mock
     private lateinit var timelineService: TimelineService
@@ -56,7 +56,7 @@ class PostServiceImplTest {
 
         whenever(postRepository.save(eq(post))).doReturn(true)
         whenever(postRepository.generateId()).doReturn(post.id)
-        whenever(userRepository.findById(eq(post.userId))).doReturn(UserBuilder.localUserOf(id = post.userId))
+        whenever(actorRepository.findById(eq(post.actorId))).doReturn(UserBuilder.localUserOf(id = post.actorId))
         whenever(timelineService.publishTimeline(eq(post), eq(true))).doReturn(Unit)
 
         mockStatic(Instant::class.java, Mockito.CALLS_REAL_METHODS).use {
@@ -69,7 +69,7 @@ class PostServiceImplTest {
                     post.visibility,
                     post.repostId,
                     post.replyId,
-                    post.userId,
+                    post.actorId,
                     post.mediaIds
                 )
             )
diff --git a/src/test/kotlin/dev/usbharu/hideout/core/service/reaction/ReactionServiceImplTest.kt b/src/test/kotlin/dev/usbharu/hideout/core/service/reaction/ReactionServiceImplTest.kt
index e3cf0ddd..89e4feae 100644
--- a/src/test/kotlin/dev/usbharu/hideout/core/service/reaction/ReactionServiceImplTest.kt
+++ b/src/test/kotlin/dev/usbharu/hideout/core/service/reaction/ReactionServiceImplTest.kt
@@ -37,20 +37,20 @@ class ReactionServiceImplTest {
 
         val post = PostBuilder.of()
 
-        whenever(reactionQueryService.reactionAlreadyExist(eq(post.id), eq(post.userId), eq(0))).doReturn(false)
+        whenever(reactionQueryService.reactionAlreadyExist(eq(post.id), eq(post.actorId), eq(0))).doReturn(false)
         val generateId = TwitterSnowflakeIdGenerateService.generateId()
         whenever(reactionRepository.generateId()).doReturn(generateId)
 
-        reactionServiceImpl.receiveReaction("❤", "example.com", post.userId, post.id)
+        reactionServiceImpl.receiveReaction("❤", "example.com", post.actorId, post.id)
 
-        verify(reactionRepository, times(1)).save(eq(Reaction(generateId, 0, post.id, post.userId)))
+        verify(reactionRepository, times(1)).save(eq(Reaction(generateId, 0, post.id, post.actorId)))
     }
 
     @Test
     fun `receiveReaction リアクションが既に作成されていることを検知出来ずに例外が発生した場合は何もしない`() = runTest {
         val post = PostBuilder.of()
 
-        whenever(reactionQueryService.reactionAlreadyExist(eq(post.id), eq(post.userId), eq(0))).doReturn(false)
+        whenever(reactionQueryService.reactionAlreadyExist(eq(post.id), eq(post.actorId), eq(0))).doReturn(false)
         val generateId = TwitterSnowflakeIdGenerateService.generateId()
         whenever(
             reactionRepository.save(
@@ -59,7 +59,7 @@ class ReactionServiceImplTest {
                         id = generateId,
                         emojiId = 0,
                         postId = post.id,
-                        userId = post.userId
+                        actorId = post.actorId
                     )
                 )
             )
@@ -71,17 +71,17 @@ class ReactionServiceImplTest {
         }
         whenever(reactionRepository.generateId()).doReturn(generateId)
 
-        reactionServiceImpl.receiveReaction("❤", "example.com", post.userId, post.id)
+        reactionServiceImpl.receiveReaction("❤", "example.com", post.actorId, post.id)
 
-        verify(reactionRepository, times(1)).save(eq(Reaction(generateId, 0, post.id, post.userId)))
+        verify(reactionRepository, times(1)).save(eq(Reaction(generateId, 0, post.id, post.actorId)))
     }
 
     @Test
     fun `receiveReaction リアクションが既に作成されている場合は何もしない`() = runTest() {
         val post = PostBuilder.of()
-        whenever(reactionQueryService.reactionAlreadyExist(eq(post.id), eq(post.userId), eq(0))).doReturn(true)
+        whenever(reactionQueryService.reactionAlreadyExist(eq(post.id), eq(post.actorId), eq(0))).doReturn(true)
 
-        reactionServiceImpl.receiveReaction("❤", "example.com", post.userId, post.id)
+        reactionServiceImpl.receiveReaction("❤", "example.com", post.actorId, post.id)
 
         verify(reactionRepository, never()).save(any())
     }
@@ -89,47 +89,47 @@ class ReactionServiceImplTest {
     @Test
     fun `sendReaction リアクションが存在しないとき保存して配送する`() = runTest {
         val post = PostBuilder.of()
-        whenever(reactionQueryService.findByPostIdAndUserIdAndEmojiId(eq(post.id), eq(post.userId), eq(0))).doThrow(
+        whenever(reactionQueryService.findByPostIdAndActorIdAndEmojiId(eq(post.id), eq(post.actorId), eq(0))).doThrow(
             FailedToGetResourcesException::class
         )
         val generateId = TwitterSnowflakeIdGenerateService.generateId()
         whenever(reactionRepository.generateId()).doReturn(generateId)
 
-        reactionServiceImpl.sendReaction("❤", post.userId, post.id)
+        reactionServiceImpl.sendReaction("❤", post.actorId, post.id)
 
-        verify(reactionRepository, times(1)).save(eq(Reaction(generateId, 0, post.id, post.userId)))
-        verify(apReactionService, times(1)).reaction(eq(Reaction(generateId, 0, post.id, post.userId)))
+        verify(reactionRepository, times(1)).save(eq(Reaction(generateId, 0, post.id, post.actorId)))
+        verify(apReactionService, times(1)).reaction(eq(Reaction(generateId, 0, post.id, post.actorId)))
     }
 
     @Test
     fun `sendReaction リアクションが存在するときは削除して保存して配送する`() = runTest {
         val post = PostBuilder.of()
         val id = TwitterSnowflakeIdGenerateService.generateId()
-        whenever(reactionQueryService.findByPostIdAndUserIdAndEmojiId(eq(post.id), eq(post.userId), eq(0))).doReturn(
-            Reaction(id, 0, post.id, post.userId)
+        whenever(reactionQueryService.findByPostIdAndActorIdAndEmojiId(eq(post.id), eq(post.actorId), eq(0))).doReturn(
+            Reaction(id, 0, post.id, post.actorId)
         )
         val generateId = TwitterSnowflakeIdGenerateService.generateId()
         whenever(reactionRepository.generateId()).doReturn(generateId)
 
-        reactionServiceImpl.sendReaction("❤", post.userId, post.id)
+        reactionServiceImpl.sendReaction("❤", post.actorId, post.id)
 
 
-        verify(reactionRepository, times(1)).delete(eq(Reaction(id, 0, post.id, post.userId)))
-        verify(reactionRepository, times(1)).save(eq(Reaction(generateId, 0, post.id, post.userId)))
-        verify(apReactionService, times(1)).removeReaction(eq(Reaction(id, 0, post.id, post.userId)))
-        verify(apReactionService, times(1)).reaction(eq(Reaction(generateId, 0, post.id, post.userId)))
+        verify(reactionRepository, times(1)).delete(eq(Reaction(id, 0, post.id, post.actorId)))
+        verify(reactionRepository, times(1)).save(eq(Reaction(generateId, 0, post.id, post.actorId)))
+        verify(apReactionService, times(1)).removeReaction(eq(Reaction(id, 0, post.id, post.actorId)))
+        verify(apReactionService, times(1)).reaction(eq(Reaction(generateId, 0, post.id, post.actorId)))
     }
 
     @Test
     fun `removeReaction リアクションが存在する場合削除して配送`() = runTest {
         val post = PostBuilder.of()
-        whenever(reactionQueryService.findByPostIdAndUserIdAndEmojiId(eq(post.id), eq(post.userId), eq(0))).doReturn(
-            Reaction(0, 0, post.id, post.userId)
+        whenever(reactionQueryService.findByPostIdAndActorIdAndEmojiId(eq(post.id), eq(post.actorId), eq(0))).doReturn(
+            Reaction(0, 0, post.id, post.actorId)
         )
 
-        reactionServiceImpl.removeReaction(post.userId, post.id)
+        reactionServiceImpl.removeReaction(post.actorId, post.id)
 
-        verify(reactionRepository, times(1)).delete(eq(Reaction(0, 0, post.id, post.userId)))
-        verify(apReactionService, times(1)).removeReaction(eq(Reaction(0, 0, post.id, post.userId)))
+        verify(reactionRepository, times(1)).delete(eq(Reaction(0, 0, post.id, post.actorId)))
+        verify(apReactionService, times(1)).removeReaction(eq(Reaction(0, 0, post.id, post.actorId)))
     }
 }
diff --git a/src/test/kotlin/dev/usbharu/hideout/core/service/relationship/RelationshipServiceImplTest.kt b/src/test/kotlin/dev/usbharu/hideout/core/service/relationship/RelationshipServiceImplTest.kt
index be2fca26..8598aae1 100644
--- a/src/test/kotlin/dev/usbharu/hideout/core/service/relationship/RelationshipServiceImplTest.kt
+++ b/src/test/kotlin/dev/usbharu/hideout/core/service/relationship/RelationshipServiceImplTest.kt
@@ -8,7 +8,7 @@ import dev.usbharu.hideout.activitypub.service.activity.undo.APSendUndoService
 import dev.usbharu.hideout.application.config.ApplicationConfig
 import dev.usbharu.hideout.core.domain.model.relationship.Relationship
 import dev.usbharu.hideout.core.domain.model.relationship.RelationshipRepository
-import dev.usbharu.hideout.core.query.UserQueryService
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.service.follow.SendFollowDto
 import kotlinx.coroutines.test.runTest
 import org.junit.jupiter.api.Test
@@ -29,7 +29,7 @@ class RelationshipServiceImplTest {
     private val applicationConfig = ApplicationConfig(URL("https://example.com"))
 
     @Mock
-    private lateinit var userQueryService: UserQueryService
+    private lateinit var actorQueryService: ActorQueryService
 
     @Mock
     private lateinit var relationshipRepository: RelationshipRepository
@@ -54,15 +54,15 @@ class RelationshipServiceImplTest {
 
     @Test
     fun `followRequest ローカルの場合followRequestフラグがtrueで永続化される`() = runTest {
-        whenever(userQueryService.findById(eq(5678))).doReturn(UserBuilder.localUserOf(domain = "example.com"))
+        whenever(actorQueryService.findById(eq(5678))).doReturn(UserBuilder.localUserOf(domain = "example.com"))
 
         relationshipServiceImpl.followRequest(1234, 5678)
 
         verify(relationshipRepository, times(1)).save(
             eq(
                 Relationship(
-                    userId = 1234,
-                    targetUserId = 5678,
+                    actorId = 1234,
+                    targetActorId = 5678,
                     following = false,
                     blocking = false,
                     muting = false,
@@ -76,17 +76,17 @@ class RelationshipServiceImplTest {
     @Test
     fun `followRequest リモートの場合Followアクティビティが配送される`() = runTest {
         val localUser = UserBuilder.localUserOf(domain = "example.com")
-        whenever(userQueryService.findById(eq(1234))).doReturn(localUser)
+        whenever(actorQueryService.findById(eq(1234))).doReturn(localUser)
         val remoteUser = UserBuilder.remoteUserOf(domain = "remote.example.com")
-        whenever(userQueryService.findById(eq(5678))).doReturn(remoteUser)
+        whenever(actorQueryService.findById(eq(5678))).doReturn(remoteUser)
 
         relationshipServiceImpl.followRequest(1234, 5678)
 
         verify(relationshipRepository, times(1)).save(
             eq(
                 Relationship(
-                    userId = 1234,
-                    targetUserId = 5678,
+                    actorId = 1234,
+                    targetActorId = 5678,
                     following = false,
                     blocking = false,
                     muting = false,
@@ -104,8 +104,8 @@ class RelationshipServiceImplTest {
         whenever(relationshipRepository.findByUserIdAndTargetUserId(eq(1234), eq(5678))).doReturn(null)
         whenever(relationshipRepository.findByUserIdAndTargetUserId(eq(5678), eq(1234))).doReturn(
             Relationship(
-                userId = 5678,
-                targetUserId = 1234,
+                actorId = 5678,
+                targetActorId = 1234,
                 following = false,
                 blocking = true,
                 muting = false,
@@ -123,8 +123,8 @@ class RelationshipServiceImplTest {
     fun `followRequest ブロックしている場合フォローリクエスト出来ない`() = runTest {
         whenever(relationshipRepository.findByUserIdAndTargetUserId(eq(1234), eq(5678))).doReturn(
             Relationship(
-                userId = 1234,
-                targetUserId = 5678,
+                actorId = 1234,
+                targetActorId = 5678,
                 following = false,
                 blocking = true,
                 muting = false,
@@ -141,13 +141,13 @@ class RelationshipServiceImplTest {
     @Test
     fun `followRequest 既にフォローしている場合は念の為フォロー承認を自動で行う`() = runTest {
         val remoteUser = UserBuilder.remoteUserOf(domain = "remote.example.com")
-        whenever(userQueryService.findById(eq(1234))).doReturn(remoteUser)
+        whenever(actorQueryService.findById(eq(1234))).doReturn(remoteUser)
         val localUser = UserBuilder.localUserOf(domain = "example.com")
-        whenever(userQueryService.findById(eq(5678))).doReturn(localUser)
+        whenever(actorQueryService.findById(eq(5678))).doReturn(localUser)
         whenever(relationshipRepository.findByUserIdAndTargetUserId(eq(1234), eq(5678))).doReturn(
             Relationship(
-                userId = 1234,
-                targetUserId = 5678,
+                actorId = 1234,
+                targetActorId = 5678,
                 following = true,
                 blocking = false,
                 muting = false,
@@ -161,8 +161,8 @@ class RelationshipServiceImplTest {
         verify(relationshipRepository, times(1)).save(
             eq(
                 Relationship(
-                    userId = 1234,
-                    targetUserId = 5678,
+                    actorId = 1234,
+                    targetActorId = 5678,
                     following = true,
                     blocking = false,
                     muting = false,
@@ -180,8 +180,8 @@ class RelationshipServiceImplTest {
     fun `followRequest フォローリクエスト無視の場合は無視する`() = runTest {
         whenever(relationshipRepository.findByUserIdAndTargetUserId(eq(1234), eq(5678))).doReturn(
             Relationship(
-                userId = 1234,
-                targetUserId = 5678,
+                actorId = 1234,
+                targetActorId = 5678,
                 following = false,
                 blocking = false,
                 muting = false,
@@ -192,8 +192,8 @@ class RelationshipServiceImplTest {
 
         whenever(relationshipRepository.findByUserIdAndTargetUserId(eq(5678), eq(1234))).doReturn(
             Relationship(
-                userId = 5678,
-                targetUserId = 1234,
+                actorId = 5678,
+                targetActorId = 1234,
                 following = false,
                 blocking = false,
                 muting = false,
@@ -209,15 +209,15 @@ class RelationshipServiceImplTest {
 
     @Test
     fun `block ローカルユーザーの場合永続化される`() = runTest {
-        whenever(userQueryService.findById(eq(5678))).doReturn(UserBuilder.localUserOf(domain = "example.com"))
+        whenever(actorQueryService.findById(eq(5678))).doReturn(UserBuilder.localUserOf(domain = "example.com"))
 
         relationshipServiceImpl.block(1234, 5678)
 
         verify(relationshipRepository, times(1)).save(
             eq(
                 Relationship(
-                    userId = 1234,
-                    targetUserId = 5678,
+                    actorId = 1234,
+                    targetActorId = 5678,
                     following = false,
                     blocking = true,
                     muting = false,
@@ -231,17 +231,17 @@ class RelationshipServiceImplTest {
     @Test
     fun `block リモートユーザーの場合永続化されて配送される`() = runTest {
         val localUser = UserBuilder.localUserOf(domain = "example.com")
-        whenever(userQueryService.findById(eq(1234))).doReturn(localUser)
+        whenever(actorQueryService.findById(eq(1234))).doReturn(localUser)
         val remoteUser = UserBuilder.remoteUserOf(domain = "remote.example.com")
-        whenever(userQueryService.findById(eq(5678))).doReturn(remoteUser)
+        whenever(actorQueryService.findById(eq(5678))).doReturn(remoteUser)
 
         relationshipServiceImpl.block(1234, 5678)
 
         verify(relationshipRepository, times(1)).save(
             eq(
                 Relationship(
-                    userId = 1234,
-                    targetUserId = 5678,
+                    actorId = 1234,
+                    targetActorId = 5678,
                     following = false,
                     blocking = true,
                     muting = false,
@@ -256,12 +256,12 @@ class RelationshipServiceImplTest {
 
     @Test
     fun `acceptFollowRequest ローカルユーザーの場合永続化される`() = runTest {
-        whenever(userQueryService.findById(eq(5678))).doReturn(UserBuilder.localUserOf(domain = "example.com"))
+        whenever(actorQueryService.findById(eq(5678))).doReturn(UserBuilder.localUserOf(domain = "example.com"))
 
         whenever(relationshipRepository.findByUserIdAndTargetUserId(eq(5678), eq(1234))).doReturn(
             Relationship(
-                userId = 5678,
-                targetUserId = 1234,
+                actorId = 5678,
+                targetActorId = 1234,
                 following = false,
                 blocking = false,
                 muting = false,
@@ -274,8 +274,8 @@ class RelationshipServiceImplTest {
 
         verify(relationshipRepository, times(1)).save(
             Relationship(
-                userId = 5678,
-                targetUserId = 1234,
+                actorId = 5678,
+                targetActorId = 1234,
                 following = true,
                 blocking = false,
                 muting = false,
@@ -290,14 +290,14 @@ class RelationshipServiceImplTest {
     @Test
     fun `acceptFollowRequest リモートユーザーの場合永続化されて配送される`() = runTest {
         val localUser = UserBuilder.localUserOf(domain = "example.com")
-        whenever(userQueryService.findById(eq(1234))).doReturn(localUser)
+        whenever(actorQueryService.findById(eq(1234))).doReturn(localUser)
         val remoteUser = UserBuilder.remoteUserOf(domain = "remote.example.com")
-        whenever(userQueryService.findById(eq(5678))).doReturn(remoteUser)
+        whenever(actorQueryService.findById(eq(5678))).doReturn(remoteUser)
 
         whenever(relationshipRepository.findByUserIdAndTargetUserId(eq(5678), eq(1234))).doReturn(
             Relationship(
-                userId = 5678,
-                targetUserId = 1234,
+                actorId = 5678,
+                targetActorId = 1234,
                 following = false,
                 blocking = false,
                 muting = false,
@@ -311,8 +311,8 @@ class RelationshipServiceImplTest {
         verify(relationshipRepository, times(1)).save(
             eq(
                 Relationship(
-                    userId = 5678,
-                    targetUserId = 1234,
+                    actorId = 5678,
+                    targetActorId = 1234,
                     following = true,
                     blocking = false,
                     muting = false,
@@ -347,7 +347,7 @@ class RelationshipServiceImplTest {
 
     @Test
     fun `acceptFollowRequest フォローリクエストが存在せずforceがtrueのときフォローを承認する`() = runTest {
-        whenever(userQueryService.findById(eq(5678))).doReturn(UserBuilder.remoteUserOf(domain = "remote.example.com"))
+        whenever(actorQueryService.findById(eq(5678))).doReturn(UserBuilder.remoteUserOf(domain = "remote.example.com"))
 
         whenever(relationshipRepository.findByUserIdAndTargetUserId(eq(5678), eq(1234))).doReturn(
             Relationship(
@@ -360,8 +360,8 @@ class RelationshipServiceImplTest {
         verify(relationshipRepository, times(1)).save(
             eq(
                 Relationship(
-                    userId = 5678,
-                    targetUserId = 1234,
+                    actorId = 5678,
+                    targetActorId = 1234,
                     following = true,
                     blocking = false,
                     muting = false,
@@ -410,12 +410,12 @@ class RelationshipServiceImplTest {
 
     @Test
     fun `rejectFollowRequest ローカルユーザーの場合永続化される`() = runTest {
-        whenever(userQueryService.findById(eq(5678))).doReturn(UserBuilder.localUserOf(domain = "example.com"))
+        whenever(actorQueryService.findById(eq(5678))).doReturn(UserBuilder.localUserOf(domain = "example.com"))
 
         whenever(relationshipRepository.findByUserIdAndTargetUserId(eq(5678), eq(1234))).doReturn(
             Relationship(
-                userId = 5678,
-                targetUserId = 1234,
+                actorId = 5678,
+                targetActorId = 1234,
                 following = false,
                 blocking = false,
                 muting = false,
@@ -429,8 +429,8 @@ class RelationshipServiceImplTest {
         verify(relationshipRepository, times(1)).save(
             eq(
                 Relationship(
-                    userId = 5678,
-                    targetUserId = 1234,
+                    actorId = 5678,
+                    targetActorId = 1234,
                     following = false,
                     blocking = false,
                     muting = false,
@@ -446,15 +446,15 @@ class RelationshipServiceImplTest {
     @Test
     fun `rejectFollowRequest リモートユーザーの場合永続化されて配送される`() = runTest {
         val localUser = UserBuilder.localUserOf(domain = "example.com")
-        whenever(userQueryService.findById(eq(1234))).doReturn(localUser)
+        whenever(actorQueryService.findById(eq(1234))).doReturn(localUser)
 
         val remoteUser = UserBuilder.remoteUserOf(domain = "remote.example.com")
-        whenever(userQueryService.findById(eq(5678))).doReturn(remoteUser)
+        whenever(actorQueryService.findById(eq(5678))).doReturn(remoteUser)
 
         whenever(relationshipRepository.findByUserIdAndTargetUserId(eq(5678), eq(1234))).doReturn(
             Relationship(
-                userId = 5678,
-                targetUserId = 1234,
+                actorId = 5678,
+                targetActorId = 1234,
                 following = false,
                 blocking = false,
                 muting = false,
@@ -468,8 +468,8 @@ class RelationshipServiceImplTest {
         verify(relationshipRepository, times(1)).save(
             eq(
                 Relationship(
-                    userId = 5678,
-                    targetUserId = 1234,
+                    actorId = 5678,
+                    targetActorId = 1234,
                     following = false,
                     blocking = false,
                     muting = false,
@@ -494,8 +494,8 @@ class RelationshipServiceImplTest {
     fun `rejectFollowRequest フォローリクエストが存在しない場合何もしない`() = runTest {
         whenever(relationshipRepository.findByUserIdAndTargetUserId(eq(5678), eq(1234))).doReturn(
             Relationship(
-                userId = 5678,
-                targetUserId = 1234,
+                actorId = 5678,
+                targetActorId = 1234,
                 following = false,
                 blocking = false,
                 muting = false,
@@ -516,8 +516,8 @@ class RelationshipServiceImplTest {
         verify(relationshipRepository, times(1)).save(
             eq(
                 Relationship(
-                    userId = 1234,
-                    targetUserId = 5678,
+                    actorId = 1234,
+                    targetActorId = 5678,
                     following = false,
                     blocking = false,
                     muting = false,
@@ -530,11 +530,11 @@ class RelationshipServiceImplTest {
 
     @Test
     fun `unfollow ローカルユーザーの場合永続化される`() = runTest {
-        whenever(userQueryService.findById(eq(5678))).doReturn(UserBuilder.localUserOf(domain = "example.com"))
+        whenever(actorQueryService.findById(eq(5678))).doReturn(UserBuilder.localUserOf(domain = "example.com"))
         whenever(relationshipRepository.findByUserIdAndTargetUserId(eq(1234), eq(5678))).doReturn(
             Relationship(
-                userId = 1234,
-                targetUserId = 5678,
+                actorId = 1234,
+                targetActorId = 5678,
                 following = true,
                 blocking = false,
                 muting = false,
@@ -548,8 +548,8 @@ class RelationshipServiceImplTest {
         verify(relationshipRepository, times(1)).save(
             eq(
                 Relationship(
-                    userId = 1234,
-                    targetUserId = 5678,
+                    actorId = 1234,
+                    targetActorId = 5678,
                     following = false,
                     blocking = false,
                     muting = false,
@@ -565,15 +565,15 @@ class RelationshipServiceImplTest {
     @Test
     fun `unfollow リモートユーザー場合永続化されて配送される`() = runTest {
         val localUser = UserBuilder.localUserOf(domain = "example.com")
-        whenever(userQueryService.findById(eq(1234))).doReturn(localUser)
+        whenever(actorQueryService.findById(eq(1234))).doReturn(localUser)
 
         val remoteUser = UserBuilder.remoteUserOf(domain = "remote.example.com")
-        whenever(userQueryService.findById(eq(5678))).doReturn(remoteUser)
+        whenever(actorQueryService.findById(eq(5678))).doReturn(remoteUser)
 
         whenever(relationshipRepository.findByUserIdAndTargetUserId(eq(1234), eq(5678))).doReturn(
             Relationship(
-                userId = 1234,
-                targetUserId = 5678,
+                actorId = 1234,
+                targetActorId = 5678,
                 following = true,
                 blocking = false,
                 muting = false,
@@ -587,8 +587,8 @@ class RelationshipServiceImplTest {
         verify(relationshipRepository, times(1)).save(
             eq(
                 Relationship(
-                    userId = 1234,
-                    targetUserId = 5678,
+                    actorId = 1234,
+                    targetActorId = 5678,
                     following = false,
                     blocking = false,
                     muting = false,
@@ -612,8 +612,8 @@ class RelationshipServiceImplTest {
     fun `unfollow フォローしていなかった場合は何もしない`() = runTest {
         whenever(relationshipRepository.findByUserIdAndTargetUserId(eq(1234), eq(5678))).doReturn(
             Relationship(
-                userId = 1234,
-                targetUserId = 5678,
+                actorId = 1234,
+                targetActorId = 5678,
                 following = false,
                 blocking = false,
                 muting = false,
@@ -629,11 +629,11 @@ class RelationshipServiceImplTest {
 
     @Test
     fun `unblock ローカルユーザーの場合永続化される`() = runTest {
-        whenever(userQueryService.findById(eq(5678))).doReturn(UserBuilder.localUserOf(domain = "example.com"))
+        whenever(actorQueryService.findById(eq(5678))).doReturn(UserBuilder.localUserOf(domain = "example.com"))
         whenever(relationshipRepository.findByUserIdAndTargetUserId(eq(1234), eq(5678))).doReturn(
             Relationship(
-                userId = 1234,
-                targetUserId = 5678,
+                actorId = 1234,
+                targetActorId = 5678,
                 following = false,
                 blocking = true,
                 muting = false,
@@ -647,8 +647,8 @@ class RelationshipServiceImplTest {
         verify(relationshipRepository, times(1)).save(
             eq(
                 Relationship(
-                    userId = 1234,
-                    targetUserId = 5678,
+                    actorId = 1234,
+                    targetActorId = 5678,
                     following = false,
                     blocking = false,
                     muting = false,
@@ -664,15 +664,15 @@ class RelationshipServiceImplTest {
     @Test
     fun `unblock リモートユーザーの場合永続化されて配送される`() = runTest {
         val localUser = UserBuilder.localUserOf(domain = "example.com")
-        whenever(userQueryService.findById(eq(1234))).doReturn(localUser)
+        whenever(actorQueryService.findById(eq(1234))).doReturn(localUser)
 
         val remoteUser = UserBuilder.remoteUserOf(domain = "remote.example.com")
-        whenever(userQueryService.findById(eq(5678))).doReturn(remoteUser)
+        whenever(actorQueryService.findById(eq(5678))).doReturn(remoteUser)
 
         whenever(relationshipRepository.findByUserIdAndTargetUserId(eq(1234), eq(5678))).doReturn(
             Relationship(
-                userId = 1234,
-                targetUserId = 5678,
+                actorId = 1234,
+                targetActorId = 5678,
                 following = false,
                 blocking = true,
                 muting = false,
@@ -711,8 +711,8 @@ class RelationshipServiceImplTest {
     fun `unblock ブロックしていない場合は何もしない`() = runTest {
         whenever(relationshipRepository.findByUserIdAndTargetUserId(eq(1234), eq(5678))).doReturn(
             Relationship(
-                userId = 1234,
-                targetUserId = 5678,
+                actorId = 1234,
+                targetActorId = 5678,
                 following = false,
                 blocking = false,
                 muting = false,
@@ -733,8 +733,8 @@ class RelationshipServiceImplTest {
         verify(relationshipRepository, times(1)).save(
             eq(
                 Relationship(
-                    userId = 1234,
-                    targetUserId = 5678,
+                    actorId = 1234,
+                    targetActorId = 5678,
                     following = false,
                     blocking = false,
                     muting = true,
@@ -750,8 +750,8 @@ class RelationshipServiceImplTest {
 
         whenever(relationshipRepository.findByUserIdAndTargetUserId(eq(1234), eq(5678))).doReturn(
             Relationship(
-                userId = 1234,
-                targetUserId = 5678,
+                actorId = 1234,
+                targetActorId = 5678,
                 following = false,
                 blocking = false,
                 muting = true,
@@ -765,8 +765,8 @@ class RelationshipServiceImplTest {
         verify(relationshipRepository, times(1)).save(
             eq(
                 Relationship(
-                    userId = 1234,
-                    targetUserId = 5678,
+                    actorId = 1234,
+                    targetActorId = 5678,
                     following = false,
                     blocking = false,
                     muting = false,
diff --git a/src/test/kotlin/dev/usbharu/hideout/core/service/timeline/TimelineServiceTest.kt b/src/test/kotlin/dev/usbharu/hideout/core/service/timeline/TimelineServiceTest.kt
index 4302a2ad..29b195ae 100644
--- a/src/test/kotlin/dev/usbharu/hideout/core/service/timeline/TimelineServiceTest.kt
+++ b/src/test/kotlin/dev/usbharu/hideout/core/service/timeline/TimelineServiceTest.kt
@@ -1,12 +1,12 @@
 package dev.usbharu.hideout.core.service.timeline
 
 import dev.usbharu.hideout.application.service.id.TwitterSnowflakeIdGenerateService
+import dev.usbharu.hideout.core.domain.model.actor.Actor
 import dev.usbharu.hideout.core.domain.model.post.Visibility
 import dev.usbharu.hideout.core.domain.model.timeline.Timeline
 import dev.usbharu.hideout.core.domain.model.timeline.TimelineRepository
-import dev.usbharu.hideout.core.domain.model.user.User
+import dev.usbharu.hideout.core.query.ActorQueryService
 import dev.usbharu.hideout.core.query.FollowerQueryService
-import dev.usbharu.hideout.core.query.UserQueryService
 import kotlinx.coroutines.test.runTest
 import org.assertj.core.api.Assertions.assertThat
 import org.junit.jupiter.api.Test
@@ -27,7 +27,7 @@ class TimelineServiceTest {
     private lateinit var followerQueryService: FollowerQueryService
 
     @Mock
-    private lateinit var userQueryService: UserQueryService
+    private lateinit var actorQueryService: ActorQueryService
 
     @Mock
     private lateinit var timelineRepository: TimelineRepository
@@ -41,11 +41,11 @@ class TimelineServiceTest {
     @Test
     fun `publishTimeline ローカルの投稿はローカルのフォロワーと投稿者のタイムラインに追加される`() = runTest {
         val post = PostBuilder.of()
-        val listOf = listOf<User>(UserBuilder.localUserOf(), UserBuilder.localUserOf())
-        val localUserOf = UserBuilder.localUserOf(id = post.userId)
+        val listOf = listOf<Actor>(UserBuilder.localUserOf(), UserBuilder.localUserOf())
+        val localUserOf = UserBuilder.localUserOf(id = post.actorId)
 
-        whenever(followerQueryService.findFollowersById(eq(post.userId))).doReturn(listOf)
-        whenever(userQueryService.findById(eq(post.userId))).doReturn(localUserOf)
+        whenever(followerQueryService.findFollowersById(eq(post.actorId))).doReturn(listOf)
+        whenever(actorQueryService.findById(eq(post.actorId))).doReturn(localUserOf)
         whenever(timelineRepository.generateId()).doReturn(TwitterSnowflakeIdGenerateService.generateId())
 
 
@@ -54,15 +54,15 @@ class TimelineServiceTest {
         verify(timelineRepository).saveAll(capture(captor))
         val timelineList = captor.value
 
-        assertThat(timelineList).hasSize(4).anyMatch { it.userId == post.userId }
+        assertThat(timelineList).hasSize(4).anyMatch { it.userId == post.actorId }
     }
 
     @Test
     fun `publishTimeline リモートの投稿はローカルのフォロワーのタイムラインに追加される`() = runTest {
         val post = PostBuilder.of()
-        val listOf = listOf<User>(UserBuilder.localUserOf(), UserBuilder.localUserOf())
+        val listOf = listOf<Actor>(UserBuilder.localUserOf(), UserBuilder.localUserOf())
 
-        whenever(followerQueryService.findFollowersById(eq(post.userId))).doReturn(listOf)
+        whenever(followerQueryService.findFollowersById(eq(post.actorId))).doReturn(listOf)
         whenever(timelineRepository.generateId()).doReturn(TwitterSnowflakeIdGenerateService.generateId())
 
 
@@ -77,9 +77,9 @@ class TimelineServiceTest {
     @Test
     fun `publishTimeline パブリック投稿はパブリックタイムラインにも追加される`() = runTest {
         val post = PostBuilder.of()
-        val listOf = listOf<User>(UserBuilder.localUserOf(), UserBuilder.localUserOf())
+        val listOf = listOf<Actor>(UserBuilder.localUserOf(), UserBuilder.localUserOf())
 
-        whenever(followerQueryService.findFollowersById(eq(post.userId))).doReturn(listOf)
+        whenever(followerQueryService.findFollowersById(eq(post.actorId))).doReturn(listOf)
         whenever(timelineRepository.generateId()).doReturn(TwitterSnowflakeIdGenerateService.generateId())
 
 
@@ -94,9 +94,9 @@ class TimelineServiceTest {
     @Test
     fun `publishTimeline パブリック投稿ではない場合はローカルのフォロワーのみに追加される`() = runTest {
         val post = PostBuilder.of(visibility = Visibility.UNLISTED)
-        val listOf = listOf<User>(UserBuilder.localUserOf(), UserBuilder.localUserOf())
+        val listOf = listOf<Actor>(UserBuilder.localUserOf(), UserBuilder.localUserOf())
 
-        whenever(followerQueryService.findFollowersById(eq(post.userId))).doReturn(listOf)
+        whenever(followerQueryService.findFollowersById(eq(post.actorId))).doReturn(listOf)
         whenever(timelineRepository.generateId()).doReturn(TwitterSnowflakeIdGenerateService.generateId())
 
 
diff --git a/src/test/kotlin/dev/usbharu/hideout/core/service/user/UserServiceTest.kt b/src/test/kotlin/dev/usbharu/hideout/core/service/user/ActorServiceTest.kt
similarity index 81%
rename from src/test/kotlin/dev/usbharu/hideout/core/service/user/UserServiceTest.kt
rename to src/test/kotlin/dev/usbharu/hideout/core/service/user/ActorServiceTest.kt
index c524a0f5..f8f14410 100644
--- a/src/test/kotlin/dev/usbharu/hideout/core/service/user/UserServiceTest.kt
+++ b/src/test/kotlin/dev/usbharu/hideout/core/service/user/ActorServiceTest.kt
@@ -4,9 +4,9 @@ package dev.usbharu.hideout.core.service.user
 
 import dev.usbharu.hideout.application.config.ApplicationConfig
 import dev.usbharu.hideout.application.config.CharacterLimit
+import dev.usbharu.hideout.core.domain.model.actor.Actor
+import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
 import dev.usbharu.hideout.core.domain.model.post.Post
-import dev.usbharu.hideout.core.domain.model.user.User
-import dev.usbharu.hideout.core.domain.model.user.UserRepository
 import kotlinx.coroutines.ExperimentalCoroutinesApi
 import kotlinx.coroutines.test.runTest
 import org.junit.jupiter.api.Test
@@ -18,13 +18,13 @@ import java.security.KeyPairGenerator
 import kotlin.test.assertEquals
 import kotlin.test.assertNull
 
-class UserServiceTest {
-    val userBuilder = User.UserBuilder(CharacterLimit(), ApplicationConfig(URL("https://example.com")))
+class ActorServiceTest {
+    val actorBuilder = Actor.UserBuilder(CharacterLimit(), ApplicationConfig(URL("https://example.com")))
     val postBuilder = Post.PostBuilder(CharacterLimit())
     @Test
     fun `createLocalUser ローカルユーザーを作成できる`() = runTest {
 
-        val userRepository = mock<UserRepository> {
+        val actorRepository = mock<ActorRepository> {
             onBlocking { nextId() } doReturn 110001L
         }
         val generateKeyPair = KeyPairGenerator.getInstance("RSA").generateKeyPair()
@@ -34,17 +34,17 @@ class UserServiceTest {
         }
         val userService =
             UserServiceImpl(
-                userRepository,
+                actorRepository,
                 userAuthService,
                 mock(),
-                userBuilder,
+                actorBuilder,
                 testApplicationConfig,
                 mock()
             )
         userService.createLocalUser(UserCreateDto("test", "testUser", "XXXXXXXXXXXXX", "test"))
-        verify(userRepository, times(1)).save(any())
-        argumentCaptor<User> {
-            verify(userRepository, times(1)).save(capture())
+        verify(actorRepository, times(1)).save(any())
+        argumentCaptor<Actor> {
+            verify(actorRepository, times(1)).save(capture())
             assertEquals("test", firstValue.name)
             assertEquals("testUser", firstValue.screenName)
             assertEquals("XXXXXXXXXXXXX", firstValue.description)
@@ -62,11 +62,11 @@ class UserServiceTest {
     @Test
     fun `createRemoteUser リモートユーザーを作成できる`() = runTest {
 
-        val userRepository = mock<UserRepository> {
+        val actorRepository = mock<ActorRepository> {
             onBlocking { nextId() } doReturn 113345L
         }
         val userService =
-            UserServiceImpl(userRepository, mock(), mock(), userBuilder, testApplicationConfig, mock())
+            UserServiceImpl(actorRepository, mock(), mock(), actorBuilder, testApplicationConfig, mock())
         val user = RemoteUserCreateDto(
             name = "test",
             domain = "remote.example.com",
@@ -82,9 +82,9 @@ class UserServiceTest {
             sharedInbox = null
         )
         userService.createRemoteUser(user)
-        verify(userRepository, times(1)).save(any())
-        argumentCaptor<User> {
-            verify(userRepository, times(1)).save(capture())
+        verify(actorRepository, times(1)).save(any())
+        argumentCaptor<Actor> {
+            verify(actorRepository, times(1)).save(capture())
             assertEquals("test", firstValue.name)
             assertEquals("testUser", firstValue.screenName)
             assertEquals("test user", firstValue.description)
diff --git a/src/test/kotlin/dev/usbharu/hideout/mastodon/service/account/AccountApiServiceImplTest.kt b/src/test/kotlin/dev/usbharu/hideout/mastodon/service/account/AccountApiServiceImplTest.kt
index 19834065..d10e4e77 100644
--- a/src/test/kotlin/dev/usbharu/hideout/mastodon/service/account/AccountApiServiceImplTest.kt
+++ b/src/test/kotlin/dev/usbharu/hideout/mastodon/service/account/AccountApiServiceImplTest.kt
@@ -1,8 +1,8 @@
 package dev.usbharu.hideout.mastodon.service.account
 
 import dev.usbharu.hideout.application.external.Transaction
+import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
 import dev.usbharu.hideout.core.domain.model.relationship.RelationshipRepository
-import dev.usbharu.hideout.core.domain.model.user.UserRepository
 import dev.usbharu.hideout.core.query.FollowerQueryService
 import dev.usbharu.hideout.core.service.relationship.RelationshipService
 import dev.usbharu.hideout.core.service.user.UserService
@@ -31,7 +31,7 @@ class AccountApiServiceImplTest {
     private lateinit var userService: UserService
 
     @Mock
-    private lateinit var userRepository: UserRepository
+    private lateinit var actorRepository: ActorRepository
 
     @Mock
     private lateinit var followerQueryService: FollowerQueryService
@@ -204,8 +204,8 @@ class AccountApiServiceImplTest {
 
         whenever(relationshipRepository.findByUserIdAndTargetUserId(eq(loginUser), eq(userId))).doReturn(
             dev.usbharu.hideout.core.domain.model.relationship.Relationship(
-                userId = loginUser,
-                targetUserId = userId,
+                actorId = loginUser,
+                targetActorId = userId,
                 following = true,
                 blocking = false,
                 muting = false,
@@ -239,8 +239,8 @@ class AccountApiServiceImplTest {
 
         whenever(relationshipRepository.findByUserIdAndTargetUserId(eq(followeeId), eq(userId))).doReturn(
             dev.usbharu.hideout.core.domain.model.relationship.Relationship(
-                userId = followeeId,
-                targetUserId = userId,
+                actorId = followeeId,
+                targetActorId = userId,
                 following = true,
                 blocking = false,
                 muting = false,
@@ -250,8 +250,8 @@ class AccountApiServiceImplTest {
         )
         whenever(relationshipRepository.findByUserIdAndTargetUserId(eq(userId), eq(followeeId))).doReturn(
             dev.usbharu.hideout.core.domain.model.relationship.Relationship(
-                userId = userId,
-                targetUserId = followeeId,
+                actorId = userId,
+                targetActorId = followeeId,
                 following = true,
                 blocking = false,
                 muting = false,
diff --git a/src/test/kotlin/utils/PostBuilder.kt b/src/test/kotlin/utils/PostBuilder.kt
index afe32938..d69c9d70 100644
--- a/src/test/kotlin/utils/PostBuilder.kt
+++ b/src/test/kotlin/utils/PostBuilder.kt
@@ -24,7 +24,7 @@ object PostBuilder {
     ): Post {
         return postBuilder.of(
             id = id,
-            userId = userId,
+            actorId = userId,
             overview = overview,
             text = text,
             createdAt = createdAt,
diff --git a/src/test/kotlin/utils/UserBuilder.kt b/src/test/kotlin/utils/UserBuilder.kt
index b62a3cb5..c22fa9a7 100644
--- a/src/test/kotlin/utils/UserBuilder.kt
+++ b/src/test/kotlin/utils/UserBuilder.kt
@@ -3,13 +3,13 @@ package utils
 import dev.usbharu.hideout.application.config.ApplicationConfig
 import dev.usbharu.hideout.application.config.CharacterLimit
 import dev.usbharu.hideout.application.service.id.TwitterSnowflakeIdGenerateService
-import dev.usbharu.hideout.core.domain.model.user.User
+import dev.usbharu.hideout.core.domain.model.actor.Actor
 import kotlinx.coroutines.runBlocking
 import java.net.URL
 import java.time.Instant
 
 object UserBuilder {
-    private val userBuilder = User.UserBuilder(CharacterLimit(), ApplicationConfig(URL("https://example.com")))
+    private val actorBuilder = Actor.UserBuilder(CharacterLimit(), ApplicationConfig(URL("https://example.com")))
 
     private val idGenerator = TwitterSnowflakeIdGenerateService
 
@@ -29,8 +29,8 @@ object UserBuilder {
         keyId: String = "https://$domain/users/$id#pubkey",
         followers: String = "https://$domain/users/$id/followers",
         following: String = "https://$domain/users/$id/following"
-    ): User {
-        return userBuilder.of(
+    ): Actor {
+        return actorBuilder.of(
             id = id,
             name = name,
             domain = domain,
@@ -63,8 +63,8 @@ object UserBuilder {
         keyId: String = "https://$domain/$id#pubkey",
         followers: String = "https://$domain/$id/followers",
         following: String = "https://$domain/$id/following"
-    ): User {
-        return userBuilder.of(
+    ): Actor {
+        return actorBuilder.of(
             id = id,
             name = name,
             domain = domain,